Sono perplesso sul motivo per cui questo codice non funziona. Ho un pulsante di accesso che voglio disattivare quando l'utente non è connesso aDisabilita UIButton a livello di codice
Ho un UIButton delared nel mio file .h in questo modo:.
IBOutlet UIButton *myBtn;
ho creato un riferimento uscita in Interface Builder a questo pulsante.
Nel mio file .m, ho provato:.
[myBtn setEnabled: NO];
e
myBtn.enabled = NO;
Ma nessuno di questi disattivare il tasto nell'istruzione condizionale sono in (voglio disabilita il pulsante di accesso quando l'utente accede correttamente)
Sono in grado di farlo con altri due pulsanti sullo stesso schermo, quindi so che il codice è corretto. Non lancio alcun errore, quindi penso che l'oggetto esista. Anche i riferimenti a myBtn cambiano colore in XCode, quindi sembra essere un riferimento valido.
Mi manca qualcosa. Cosa sto facendo di sbagliato qui? (Sono uno sviluppatore di Windows, relativamente nuovo a Objective-C)
nel file .h, dovrebbe essere IBOutlet UIButton * myBtn. ha bisogno di un puntatore. Ma suppongo che potresti accorciarlo per gli scopi della domanda. Dove l'hai dichiarato? come una proprietà? se è così, ha bisogno di essere sintetizzato. – mashdup
Ah, ho dimenticato l'asterisco (sto digitando su un altro computer) ... – Tim
Aggiungi 'NSAssert (myBtn, @" Button is nil! ");' Nella riga prima di provare a disabilitare il pulsante.Se vedi un'eccezione 'myBtn' è nullo e non lo hai collegato ad un'istanza UIButton effettiva. –