2012-04-05 1 views
0

Ich bin neu in objective-c (Xcode) -Programm.In objective-c (xcode), wie der Fokus einer Ansicht geändert werden kann

Ich mag würde wissen, wie Ereignis zu erhalten, wenn ein Fokus Ansicht Fokus gettting und zu verlieren.

Die Ansicht nicht angeordnet ist. Nur dort ist eine andere Unteransicht zum Fenster hinzugefügt.

 [self.window addSubview:anotherView.view] 

So wird es nicht viewWillDisappear, viewDidDisappear, viewWillAppear, viewDidAppear für die ursprüngliche Lade Ansicht sein ... :(

Thank you very much.

+0

Dies ist abhängig davon, ob es iPhone oder OS X, und es ist auch abhängig von der Art der Ansicht. Eine einfache Ansicht erhält keinen Fokus, sondern ein Textfeld. Lesen Sie die Responder-Kette, um mehr darüber zu erfahren. – sosborn

+0

Der Begriff * focus * bezieht sich normalerweise auf den aktuellen Ersthelfer, d. H. Das erste Objekt in der aktuellen Antwortkette. Es klingt jedoch nicht danach, wonach du fragst. Können Sie Ihre Frage bearbeiten, um besser zu erklären, was Sie erreichen möchten? – Caleb

+0

Was ich tun möchte, ist die Ansicht "A" anzuzeigen und etwas weiter zu machen, indem ich einen Timer in dieser Ansicht starte. Dann deckt eine andere Ansicht "B" die Ansicht "A" ab. Und stoppen Sie den Timer der Ansicht "A". Wenn die Anzeige "B" ausgeblendet wird, reaktivieren Sie den Timer der Anzeige "A". – Johnny

Antwort

0

Sie wirklich brauchen nicht ein, ., weil Sie das Hinzufügen und Entfernen der Ansichten steuern Sie können jedoch - (void)didAddSubview:(UIView *)subview Ihrer Ansicht nach Unterklasse (UIView oder NSView) außer Kraft setzen

nach dem docs.

Die Standardimplementierung dieser Methode keine Auswirkungen. Unterklassen können überschreiben, um zusätzliche Aktionen auszuführen, wenn Unteransichten hinzugefügt werden. Diese Methode wird als Antwort auf das Hinzufügen einer Unteransicht mit einer der relevanten Ansichtsmethoden aufgerufen.

Verwandte Themen