Mam UIAlertView z UITextField. Połączyłem delegata UIAlertView i zwracam TAK lub NIE w alertViewShouldEnableFirstOtherButton:
w zależności od tekstu w UITextField.Jak wykonać wywołanie UIAlertView `alertViewShouldEnableFirstOtherButton:` po wprowadzeniu zmian?
Potrzebuję programowo zmienić tekst pola tekstowego. Działa to zgodnie z oczekiwaniami.
Niestety, nie wiem, jak wywołać metodę UIAlertView w trybie delegowania alertViewShouldEnableFirstOtherButton:
, więc włącza lub wyłącza drugi przycisk po zmianie tekstu pola tekstowego.
Myślałem, że rejestry UIAlertView są celem UITextField, więc próbowałem wysłać UIControlEventValueChanged
z pola tekstowego. Nie działa.
Od ślad stosu zorientowali się metoda nazywa delegat z prywatnej metody UIAlertView _alertSheetTextFieldDidChange:
.
Tak więc jeśli zmienię tekst po [self.currentAlert performSelector:@selector(_alertSheetTextFieldDidChange:) withObject:textField];
, wywoływana jest metoda delegata, a stan włączenia przycisku zmienia się. Ale ponieważ jest to metoda prywatna, aplikacja prawdopodobnie zostanie odrzucona. Nie chcę tego ryzykować.
Czy istnieje czysty sposób na wywołanie alertu pod numerem alertViewShouldEnableFirstOtherButton:
?
po prostu wpadł na ten problem, a także, i to odpowiedź prace i wydaje się być poprawny sposób to zrobić – Alex