Wie kann man die Schaltfläche von alertview im iPhone deaktivieren?

7

Ich habe eine Alarmansicht mit zwei Schaltflächen "OK" und "Abbrechen" und einem Textfeld. Jetzt möchte ich die "OK" -Taste deaktivieren, bis der Benutzer einen Text in das Textfeld eingibt. Wie kann ich das machen? Vielen Dank im Voraus

    
dks1725 24.02.2011, 07:18
quelle

5 Antworten

1

Sie können zwei Schaltflächen für Ok und Cancel erstellen. Fügen Sie dann diese beiden als Untersichten in UIAlertView.Now hinzu, indem Sie den Text (Textlänge) im Textfeld prüfen. Sie können Aktionen aktivieren und deaktivieren.

    
EXC_BAD_ACCESS 24.02.2011, 07:27
quelle
37

Dies wird nur gepostet, um die Antwort seit ios 5 zu aktualisieren:

%Vor%

UPDATE : iOS 8 Da Apple den UIAlertView für den UIAlertController veraltet hat. Es gibt keinen Delegatanruf mehr an alertViewShouldEnableFirstOtherButton:

Stattdessen würden Sie stattdessen die Eigenschaft buttons enabled über UITextFieldTextDidChangeNotification setzen Fügen Sie der Warnung eine Textansicht mit

hinzu
  
  • (void) addTextFieldWithConfigurationHandler: (void (^) (UITextField * textField)) configurationHandler
  •   
%Vor%

Implementieren Sie dann die Delegate-Methode

  
  • (void) textFieldDidBeginEditing: (UITextField *) textField
  •   
%Vor%

Wenn sich der Text in textField ändert, ruft er einen Aufruf von "textFieldHasText:" auf und gibt eine NSNotification *

weiter %Vor%

Vergessen Sie nicht, Ihren Beobachter zu entfernen, wenn Sie fertig sind

    
RyanTCB 18.07.2012 08:30
quelle
4

Ich wollte die Antwort von Ryan Forsyth erweitern, indem ich das hinzufüge. Wenn Sie eine standardmäßige UIAlertView-Ansicht hinzufügen, können Sie eine Ausnahme außerhalb des Bereichs erhalten, wenn Sie versuchen, auf ein Textfeld zuzugreifen, da keines vorhanden ist. Überprüfen Sie daher zuerst Ihren Ansichtsstil.

%Vor%     
Paul Reedy 30.01.2013 20:21
quelle
0

Ohne den Kontext Ihrer Anwendung zu kennen, gilt Folgendes möglicherweise nicht - aber haben Sie die Richtlinien für die menschliche Benutzerschnittstelle von iOS ? Es klingt, als ob Sie besser eine Alternative zu UIAlertView finden könnten, wenn dies dem Benutzer oft angezeigt wird.

    
Jon Burgess 24.02.2011 07:57
quelle
0

Nicht wirklich mit Ihrer Frage verbunden, aber ändern Sie den Standard-UIAlertView nicht, wenn Sie nicht möchten, dass Ihre App abgelehnt wird. Wenn ich nicht falsch liege, fügen Sie dem alertview Textfelder hinzu, nicht wahr? Wie eine Login-Ansicht. Sie sollten Ihre eigene Ansicht erstellen.

Also, in Bezug auf Ihre Frage, erstellen Sie Ihre Ansicht, legen Sie fest, dass die Schaltflächen deaktiviert sind, und delegieren Sie die UITextFields. Wenn

%Vor%

heißt, aktivieren Sie diese Tasten.

    
Yorxxx 24.02.2011 08:18
quelle

Tags und Links