2012-12-15 12 views
9

Dzwonię pod numer UIAlertView w stylu PlainTextView i próbuję ustalić, w jaki sposób mogę uzyskać dostęp do tego, co użytkownik wprowadził w widoku tekstowym, zanim kliknęło przycisk OK.Jak odzyskać tekst z UIAlertViewStylePlainTextInput

Używam willDismissWithButtonIndex, a alertView nie ma żadnych właściwości, takich jak tekst lub cokolwiek.

Jak mogę to uzyskać? Z góry dziękuję!

Odpowiedz

37

Get pole tekstowe z

UITextField *textfield = [alertView textFieldAtIndex: 0]; 

W swojej metodzie delegata. Dodatkowe informacje można znaleźć w dokumentacji.

Edit marca 2015 z powodu wielu poglądów Swift równoważne:

let textfield = alertView.textFieldAtIndex(0) 
+0

Aha, niepowtarzalny, dzięki! – Luke

+0

Zapraszam do zaakceptowania odpowiedzi :) – Mario

+1

Wygląda na to, że powinno zadziałać, przepraszam, ale co masz na myśli "w swojej delegowanej metodzie" ?? Jestem n00b –

0

Użyj swoją metodę:

- (UITextField *)textFieldAtIndex:(NSInteger)textFieldIndex 

Dla indeksu 0.

3

UITextField * textfield = [alertView textFieldAtIndex : 0];

Użyj tego w UIAlertView delegata

- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    UITextField *textfield = [alert_name textFieldAtIndex: 0]; 
}