2017-03-04 1 views
1

ich, in dem auf einen Installateur Stecker arbeiten sieht derzeit wie folgt aus:Installer Bereich Hörer nächste Taste

enter image description here

Derzeit deaktiviere ich die Schaltfläche „Weiter“ mit [self setNextEnabled:NO], bis alle Felder eingegeben werden. Was ich gerne tun könnte, ist tatsächlich Code auszuführen, wenn die nächste Schaltfläche geklickt wird. Hier würde ich den Server pingen und nur zum nächsten Fenster gehen, wenn ich pong bekomme.

Wie habe ich einen Listener für diese Schaltfläche?

geht Mein Code ein wenig wie folgt aus:

#import "MyInstallerPane.h" 

@implementation MyInstallerPane 

- (void)didEnterPane:(InstallerSectionDirection)dir{ 
    [self toggleContinueButton]; 
    [self initTempDir]; 
} 

.. + my own functions.. 
+0

Wie die Schaltfläche grau machen weiter? '[self setNextEnabled: NO];' funktioniert nicht für mich – jimwan

+0

@jimwan Stellen Sie sicher, dass Ihre 'xib'- und' .h'-Dateien verbunden sind (Sie sollten in der Lage sein, von 'xib' auf' .h' zu ziehen) ein "IBOutlet" zu machen. Dann, wie oben, machen Sie '' implementieren '' 'h' in der' .m' Datei – OrangePot

+0

Ich fand den Grund ist, dass dies die erste Seite ist.Ich füge es vor der Einführungsseite ein Und ich kann den Button auf den anderen Seiten mit dem gleichen Code deaktivieren. Weißt du, wie man das löst? – jimwan

Antwort

2

Sie die Methode delegieren außer Kraft setzen können

- (BOOL)shouldExitPane:(InstallerSectionDirection)dir;

Eine Unterklasse sollte diese Methode überschreiben, wenn sie die InstallerPane zu verhindern, muss vom Verlassen. Wird aufgerufen, um zu bestimmen, ob ein Fensterbereich verlassen und ein anderes Fenster auf dem Bildschirm angezeigt werden soll. Sobald der InstallerPane entscheidet, dass es Zeit zum Beenden ist, kann er gotoNextPane oder gotoPreviousPane aufrufen, um zu beenden, ohne someExitPane erneut aufzurufen.

Zum Beispiel:

- (BOOL)shouldExitPane:(InstallerSectionDirection)dir { 

    if (!good) { 
     return NO 
    } 

    return YES 

}