2012-03-29 13 views
1

In meiner Kakao-Anwendung möchte ich die Schlüsselreihenfolge meiner Ansichten ändern. Ich fülle den nextKeyView-Verweis für alle Untersichten in der gewünschten Reihenfolge aus. In der awakeFromNib Funktion Sicht kann ich die folgende:readculateKeyViewLoop funktioniert nicht

[[self.view window] setInitialFirstResponder:self.view]; 
[[self.view window] setAutorecalculatesKeyViewLoop:NO]; 
[[[self view] window] recalculateKeyViewLoop]; 

wo die nextKeyView für die self.view zur ersten subview gesetzt ich in der Reihenfolge der Schlüssel angezeigt werden soll.

Nichts hilft und die Schlüsselreihenfolge bleibt Standard. Wie man es löst? Danke

Antwort

4

Aufruf recalculateKeyViewLoop zwingt das Fenster, die Key-View-Schleife automatisch zu berechnen. Sie möchten dies nicht tun, wenn Sie die Key-View-Schleife manuell eingestellt haben, da dies genau das ist, was Sie gerade dem Fenster nicht in [[self.view window] setAutorecalculatesKeyViewLoop:NO] gesagt haben.

Sie benötigen diesen Code nicht. Stellen Sie in Interface Builder sicher, dass in Ihrem Fenster das Kontrollkästchen "Ansichtsschleife automatisch neu berechnen" deaktiviert ist, und verbinden Sie die -Steckdose Ihres Fensters mit der Ansicht, die der erste Erstantragsteller sein soll.

Kein Code erforderlich.

+0

Der Code I in Frage gestellt befindet sich in watchFromNib des Controllers, dessen Ansicht ich als Unteransicht in der Inhaltsansicht des Fensters hinzufüge. Ich habe die Zeile recalculeyKeyViewLoop entfernt, funktioniert aber immer noch nicht. Ich kann das Kontrollkästchen "Ansichtsschleife automatisch neu berechnen" nicht deaktivieren, da dies die Sortierung anderer Ansichten unterbrechen würde. Also mache ich das programmatisch in wakeFromNib, aber vielleicht ist es zu spät ... was kann noch getan werden? –

0

von Rob Antwort im Anschluss an, in XCode 7.3 Sie die Checkbox in der Interface Builder für das Hauptfenster unter finden:

enter image description here



enter image description here