2010-12-17 2 views
2

У меня есть представление в моем приложении со многими ярлыками и панелью инструментов с некоторыми кнопками. Я бы хотел изменить все метки одновременно, нажав кнопку. Я думал, что это может быть способ «всплывающего» ввода текста и одновременного появления клавиатуры. Какой самый чистый способ сделать это? СпасибоКак всплывать текстовое поле

ответ

10

http://discussions.apple.com/thread.jspa?messageID=8445879

В качестве альтернативы. Вот как я это сделать:

UIAlertView *prompt = [[UIAlertView alloc] initWithTitle:@"Please enter your name:" 
               message:@"\n\n" 
               delegate:self 
             cancelButtonTitle:@"Cancel" 
             otherButtonTitles:@"Enter", nil]; 

textField = [[UITextField alloc] initWithFrame:CGRectMake(12, 50, 260, 25)]; 
[textField setBackgroundColor:[UIColor whiteColor]]; 
[textField setPlaceholder:@"Name for message"]; 
[prompt addSubview:textField]; 
[textField release]; 

// show the dialog box 
[prompt show]; 
[prompt release]; 

// set cursor and show keyboard 
[textField becomeFirstResponder]; 

Затем в методе делегата UIAlertView вы читаете содержимое из textField.text :-)

+0

Я думал, что это может мне гораздо проще лол ти все равно – k20 2010-12-17 03:57:39

+0

лол ... Я пересмотрел мой ответ. – Nevin 2010-12-17 04:11:26

+0

@Nevin Спасибо за это, супер легкий (для Iphone, это!), Как только вы подумаете об этом. Если бы исправить в нем опечатку, строка [prompt textField]; должно быть [prompt addSubview: textField]; – 2012-04-25 11:19:09

0

Используйте это Link

это поможет вам сделать предупреждение с помощью textFields простым способом.

10

Я знаю его слишком поздний ответ, но этот ответ для тех, кто использует iOS 5.0 или новее. Теперь AlertView имеет новое свойство AlertViewStyle для различных целей.

UIAlertViewStyle 
The presentation style of the alert. 

typedef enum { 
    UIAlertViewStyleDefault = 0, 
    UIAlertViewStyleSecureTextInput, 
    UIAlertViewStylePlainTextInput, 
    UIAlertViewStyleLoginAndPasswordInput 
} UIAlertViewStyle; 

Пример:

UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok",nil]; 
     [alertView setAlertViewStyle:UIAlertViewStylePlainTextInput]; 
     [alertView show]; 
     [alertView release]; 

Делегат:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    NSLog(@"%@",[[alertView textFieldAtIndex:0] text]) 
} 

Ссылка: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIAlertView_Class/UIAlertView/UIAlertView.html

Смежные вопросы