Как проверить и ограничить ввод в UITextField внутри UIAlertView в iOS - PullRequest
3 голосов
/ 10 января 2012

Я использую UIAlertView, чтобы показать текстовое поле поверх всплывающего окна. Но проблема, с которой я сталкиваюсь, заключается в том, что я не могу проверить и ограничить записи в UITextField во всплывающем окне, то есть я хочу принять только 3 числовых значения.

Здесь я предоставляю блок кода, который я реализовал.

popup = [[UIAlertView alloc] initWithTitle:@"Please enter 3 numeric values"
                                   message:@"\n\n"
                                  delegate:self
                         cancelButtonTitle:@"Cancel"
                         otherButtonTitles:@"Ok", nil];         

txtFld = [[UITextField alloc] initWithFrame:CGRectMake(12, 50, 260, 25)];
[txtFld setBackgroundColor:[UIColor whiteColor]];
[txtFld setKeyboardType:UIKeyboardTypeNumberPad];
[popup addSubview:txtFld];

[popup show];

[txtFld becomeFirstResponder];

Так может ли кто-нибудь помочь мне решить эту проблему? Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 19 июня 2012

здесь я вижу, что вы не установили textfield.delegate = self, пожалуйста, отметьте это в вашем коде

1 голос
/ 12 января 2012

Опасно вручную добавлять подпредставления в UIAlertView или любое другое представление, которое вы не контролируете, поскольку его иерархия является частной и может быть изменена. Если вы ориентируетесь на iOS 5 или выше, вы можете использовать один из стилей UIAlertView, который поддерживает ввод и проверку текста, например UIAlertViewStylePlainTextInput. Документация для UIAlertView содержит список стилей, а этот урок объясняет их использование более подробно.

...