2017-04-24 12 views
0

Ich habe eine Ansicht mit zwei untergeordneten Ansichten und möchte, dass die zweite Ansicht optional verschwindet, die einschließlich der Datenbindung deaktiviert ist, und die Größe der ersten Ansicht ändern und umgekehrt. Ich brauche ein paar Hinweise oder (Pseudo-) Code, um das zu erreichen. Danke im Voraus.Wie führe ich eine optionale Kinderansicht durch?

+0

Willkommen bei Stack Overflow! Bitte nehmen Sie die Tour, schauen Sie sich um und lesen Sie [die Hilfe] (https://stackoverflow.com/help), insbesondere über [Wie Sie eine Frage stellen] (https://stackoverflow.com/help/how-to-ask) und [Wie erstellt man ein minimales, vollständiges und verifizierbares Beispiel] (https://stackoverflow.com/help/mcve) auf dieser Site. Bemühen Sie sich, das Problem zu lösen. Wenn Sie auf ein bestimmtes Problem stoßen, stellen Sie eine Frage mit Ihrem Versuch (einschließlich des relevanten Codes), sagen Sie, was nicht funktioniert, und erklären Sie Ihre bisherigen Untersuchungen. – Teocci

Antwort

0

Es gibt einige Ansichten in SproutCore, die dies in irgendeiner Weise tun. Obwohl es nicht das beste Beispiel ist, werfen Sie einen Blick auf the experimental select search view.

Sie müssen createChildViews überschreiben, um die Bindungen manuell einzurichten, sodass Sie sie bei Bedarf auch entfernen können.

+0

Danke, aber ich bekomme kein Bild. Meine ChildViews enthält viele Daten und sind vertikal gestapelt, und beide haben eine viel zeitaufwendige Abfrage, ich will je nach Wahl des Benutzers deaktivieren/entfernen Sie die zweite Ansicht. Ich habe Autoresize, flowedlayout, invisibleBinding, isEnabled usw. betrachtet, und wenn die zweite Ansicht nicht aktiviert ist, ist sie nicht mehr sichtbar, aber der gewonnene "Platz" ist nicht gefüllt, dh die erste Ansicht wird nicht in der Größe verändert. – fpk

+0

Es gibt noch eine andere Möglichkeit, Klassen zu erstellen, bei denen der eine die zweite Ansicht hat und der andere nicht. Sie können dann entscheiden, welche Darstellungsklasse basierend auf der Benutzereinstellung verwendet werden soll, beispielsweise unter Verwendung der Benutzervorgaben: http://docs.sproutcore.com/#doc=SC.UserDefaults&src=false Bei dieser Methode wird davon ausgegangen, dass Sie gewonnen haben wechsel nicht. Wenn Sie tatsächlich nicht wechseln, haben Sie nicht das Problem, die Bindungen zu verdoppeln, da die Bindungen erst aktiviert werden, wenn die View-Instanz erstellt wird. – mauritslamers

+0

Danke für den Hinweis. Ich habe darüber nachgedacht, die Option .adjust layout anzuwenden, aber es ist auch möglich, zwei Ansichten (eine mit und eine ohne die zweite Ansicht) zu erstellen. Wie auch immer, der Benutzer hat bereits einen Einstellungsbereich, und dies wird eine zusätzliche Option sein. Was die Code-Anfrage anbelangt, werde ich zuerst selbst versuchen und lernen, trotzdem vielen Dank. – fpk

Verwandte Themen