uiaccessoryview

___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ tag123uissplitviewcontroller ___ Die UISplitViewController-Klasse ist ein Containeransicht-Controller, der ein Master-Detail darstellt Schnittstelle. In einer Master-Detail-Schnittstelle ändert sich das Primäransicht-Controller-Laufwerk (das Master-Laufwerk) Änderungen in einem sekundären Ansichtscontroller (das Detail). Die zwei View-Controller können so angeordnet werden dass sie Seite an Seite sind, so dass jeweils nur einer sichtbar ist, oder so, dass nur ein Teil sichtbar ist verbirgt den anderen. ___ answer44070355 ___

Auf diese Weise können Sie Displaymode auf UISplitViewController überprüfen

%Vor%     
___ qstnhdr ___ Erkennen, wenn sowohl der Master- als auch der Detailansicht-Controller auf dem Bildschirm sind? ___ qstntxt ___

Ich habe ein %code% mit einem Universal Storyboard in Xcode 6 implementiert. %code% wird jetzt auf iPhone mit iOS 8 unterstützt, und standardmäßig wird immer nur ein View-Controller auf dem Bildschirm angezeigt.

Ich muss wissen, wenn sowohl der Master- als auch der Detailansicht-Controller beide auf dem Bildschirm (iPad) sind. Ich muss die Disclosure-Indikatoren von %code% s entfernen, wenn beide auf dem Bildschirm sind - render sie nur, wenn nur der Master-View-Controller auf dem Bildschirm (iPhone) ist, genau wie die Einstellungen app.

Ich könnte das Gerät einfach erkennen und nur hinzufügen, wenn es ein iPhone ist, aber das ist nicht zu empfehlen. Es ist möglich, dass ein neues Gerät nur einen View-Controller anzeigt und sich nicht als Telefon identifiziert. Ein weiterer Gedanke wäre, zu erkennen, ob %code% %code% ist, aber das wird nicht funktionieren, weil es nicht %code% auf iPhone oder iPad ist, weil es tatsächlich in einem Split-View-Controller auf dem iPhone ist.

Ist es möglich, zu erkennen, wenn sowohl der Master- als auch der Detailansicht-Controller gleichzeitig auf dem Bildschirm angezeigt werden?

    
___ tag123uaccessoryview ___ UIAccessoryView ist eine mit UITableViews verwendete Schnittstellenkomponente, um den Benutzern zusätzliche Informationen und Bearbeitungsoptionen anzuzeigen. ___ answer25438879 ___

%code%

%code%

  

Diese Eigenschaft wird auf YES gesetzt, wenn der Inhalt des Split-View-Controllers ist   semantisch zu einem einzigen Container zusammengelegt. Kollabieren passiert   wenn der Split-View-Controller von einem horizontal regulär wechselt   zu einer horizontal kompakten Umgebung. Nachdem es zusammengebrochen ist,   Der Split-View-Controller meldet nur eine untergeordnete Ansicht   Controller in seiner ViewControllers-Eigenschaft. Der andere Ansichtscontroller   wird mit Hilfe von in den Inhalt des anderen View-Controllers kollabiert   das Delegate-Objekt oder vorübergehend verworfen. Wenn es zusammenbrach, das   Die Eigenschaft "displayMode" hat keinen Einfluss auf das Erscheinungsbild der geteilten Ansicht   Controller-Schnittstelle.

     

Der Wert dieser Eigenschaft ist NEIN, wenn der Split-View-Controller vorhanden ist   in der Lage, beide Kind View Controller gleichzeitig anzuzeigen   Zeit, , auch wenn es sie im Moment nicht zeigt . In diesem   Erweiterter Modus, die Konfiguration des untergeordneten View-Controllers des untergeordneten Elements   View-Controller wird durch die Eigenschaft displayMode bestimmt. Im   Darüber hinaus enthält die ViewControllers-Eigenschaft sowohl das primäre als auch das   Secondary View Controller.

     

Bei einem Übergang von einer erweiterten zu einer reduzierten Schnittstelle der Wert   von dieser Eigenschaft ist NEIN, bis der Kollaps-Übergang beendet ist   und alle relevanten Delegiertenmethoden wurden aufgerufen. Ähnlich,   Beim Übergang zurück zu einer erweiterten Schnittstelle ist der Wert YES   bis der Übergang beendet ist.

aus der Klassenreferenz.

Danke an Frederik A. Winkelsdorf:

  

Es sollte beachtet werden, dass .collapsed auch false meldet, wenn a   DetailViewController wird gezoomt, um den gesamten Bildschirm abzudecken. Wenn du wirklich   Möchten Sie wissen, ob beide sichtbar sind, prüfen Sie neben der Eigenschaft .collapsed   für splitViewController.displayMode ==   UISplitViewControllerDisplayMode.AllVisible. Ich fand es nützlich, wenn   Umgang mit iPhone 6 Plus Landscape Layouts.

    
___
2
Antworten

Erkennen, wenn sowohl der Master- als auch der Detailansicht-Controller auf dem Bildschirm sind?

Ich habe ein UISplitViewController mit einem Universal Storyboard in Xcode 6 implementiert. UISplitViewController wird jetzt auf iPhone mit iOS 8 unterstützt, und standardmäßig wird immer nur ein View-Controller auf dem Bildschirm angezeig...
21.08.2014, 21:39