Возможно ли показать предупреждение с текстовым полем внутри, как приложение AppStore. Он запрашивает пароль в таком диалоговом окне. Я видел по крайней мере пару других сторонних приложений, использующих его. Это частный API?Отображение alertview с текстовым полем в iPhone
ответ
Да, это недокументировано. Чтобы добавить текстовое поле в UIAlertView, используйте метод addTextFieldWithValue: label:. Вы вызываете текст по умолчанию в качестве первого аргумента и текст, который отображается в пустом поле как второй. Сделав это, вы можете получить доступ к полю с помощью textFieldAtIndex: n - см. Ниже.
UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Who are you?"
message:@"Give your full name"
delegate:self cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
[alert addTextFieldWithValue:@""label:@"Name"];
// Customise name field
UITextField* name = [alert textFieldAtIndex:0];
name.clearButtonMode = UITextFieldViewModeWhileEditing;
name.keyboardType = UIKeyboardTypeAlphabet;
name.keyboardAppearance = UIKeyboardAppearanceAlert;
[alert show];
Следующий фрагмент кода показывает, как получить значение в поле Имя:
NSLog("Name is %@", [[modalView textFieldAtIndex:0] text]);
Джефф Lamarche опубликовал некоторые sample code on his blog сделать именно это. Форматирование выглядело немного неудобно, когда я это пробовал, но это, вероятно, хорошая отправная точка.
Это «Apple Approved» способ сделать это из Махадуна в Тарину. Я получил его от его комментарий на этой странице: http://iosdevelopertips.com/undocumented/alert-with-textfields.html
// Ask for Username and password.
UIAlertView *alertview = [[UIAlertView alloc] initWithTitle:@"Twitter Details!" message:@"\n \n \n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
// Adds a username Field
UITextField *utextfield = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
utextfield.placeholder = @"Username";
[utextfield setBackgroundColor:[UIColor whiteColor]];
[alertview addSubview:utextfield];
// Adds a password Field
UITextField *ptextfield = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 80.0, 260.0, 25.0)];
ptextfield.placeholder = @"Password";
[ptextfield setSecureTextEntry:YES];
[ptextfield setBackgroundColor:[UIColor whiteColor]]; [alertview addSubview:ptextfield];
// Move a little to show up the keyboard
CGAffineTransform transform = CGAffineTransformMakeTranslation(0.0, 80.0);
[alertview setTransform:transform];
// Show alert on screen.
[alertview show];
[alertview release];
//...
// Don't forget to release these after getting their values
[utextfield release];
[ptextfield release];
И, наконец, чтобы получить текст обратно
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0)
return; //Cancel
UITextField *field = (UITextField *)[[alertView subviews] lastObject];
NSLog (@"%@", field.text);
}
Я лично удалю преобразование и добавлю [utextfield getFirstResponder] после того, как вы отпустите alertview, чтобы клавиатура автоматически всплывала. – AlBeebe
Это действительно старые вопросы с очень старыми ответами.
Это пример того, как я получаю UITextField в UIAlertView начиная с прошивкой 5:
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"New List Name" message:@"" delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:@"Continue", nil];
message.alertViewStyle = UIAlertViewStylePlainTextInput;
self.alertTextField = [message textFieldAtIndex:0];
self.alertTextField.keyboardType = UIKeyboardTypeAlphabet;
message.delegate = self;
[message show];
[self.alertTextField becomeFirstResponder];
где alertTextField был создан как это:
@property (nonatomic, strong) UITextField *alertTextField;
- 1. alertview с текстовым полем разбивается в iOS
- 2. TableView не получает индекс, используя alertview с текстовым полем
- 3. Отображение таблицы с текстовым полем в J2ME?
- 4. Работа с клавиатурой iPhone с пользовательским текстовым полем?
- 5. Iphone Клетки с текстовым полем TableView
- 6. Клавиатура не открывается когда дисплей alertview с текстовым полем в прошивкой 5.0
- 7. отображение элементов списка в соответствии с текстовым полем в C#
- 8. Autocomplete с текстовым полем
- 9. UIAlertView с текстовым полем не показывать поля
- 10. iPhone - сдвиг текстового поля AlertView с использованием iOS6
- 11. Фильтрация combobox с текстовым полем
- 12. Silverlight UserControl с текстовым полем
- 13. bootgrid с редактируемым текстовым полем
- 14. пользовательское управление с текстовым полем
- 15. Проблема с текстовым полем As3
- 16. Исключение аргумента с текстовым полем
- 17. Связывание строки с текстовым полем
- 18. Каждая строка с текстовым полем?
- 19. ASP.NET: checkboxlist с текстовым полем?
- 20. оповещение с текстовым полем сенчем
- 21. Множественная культура с текстовым полем
- 22. XUL - проблема с текстовым полем
- 23. WPF Listbox с текстовым полем
- 24. C# - Проблемы с текстовым полем
- 25. Фильтрация списка с текстовым полем
- 26. +/- уравнение с одним текстовым полем
- 27. поддержка uialertview с текстовым полем
- 28. Связывание URI с текстовым полем
- 29. Перекрывающая строка с текстовым полем
- 30. Фильтр GridView с текстовым полем
Как и другие люди уже упоминалось, это будет вы можете выгнать из магазина приложений в наши дни. – zoul
Согласен - это было написано давно. Должен ли я удалить ответ. –
@JaneSales: Я бы не удалил ответ, но я определенно добавлю большую заметную оговорку в верхней части сообщения. – FreeAsInBeer