2010-02-19 2 views
1

В моем приложении я использовал UIAlertView для входа в систему, он содержит TextFields, он отлично работает, но я получаю предупреждение, когда компилирую код, я использую iPhone SDK 3.0Предупреждение: 'UIAlertView' может не отвечать на '-addTextFieldWithValue: label:'

код:

loginAlert = [[UIAlertView alloc] initWithTitle:@"Enter the User Name and Password" message:@"" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Login", nil]; 

[loginAlert addTextFieldWithValue:appDelegate.userName label:@"UserName"]; 

предупреждение: 'UIAlertView' может не реагировать на '-addTextFieldWithValue: метка:'



txfUserName = [loginAlert textFieldAtIndex:0]; 

предупреждение: 'UIAlertView' может не реагировать на '-textFieldAtIndex:'

ответ

3
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Your title here!" message:@"this gets covered" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; 
UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)]; 
[myTextField setBackgroundColor:[UIColor whiteColor]]; 
[myAlertView addSubview:testTextField]; 
CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0.0, 130.0); 
[myAlertView setTransform:myTransform]; 
[myAlertView show]; 
[myAlertView release]; 

всех кредитов: http://www.iphonedevsdk.com/forum/iphone-sdk-development/1704-uitextfield-inside-uialertview.html

+0

Его работа, но есть начальная задержка, не такая совершенная, как частный метод, спасибо за ценную информацию –

+0

, вы можете создать представление на инициализации класса содержащий UIViewController и отпустить его при разгрузке представления, поэтому задержка замаскирован переходом. –

3

Этот метод является частным, вы не должны использовать его (ваше приложение будет быть отклонены). Возможно, они удалены или переименованы в последнюю версию SDK. Для альтернативы, см

http://iphonedevelopment.blogspot.com/2009/02/alert-view-with-prompt.html

+0

Благодарим за информацию о стоимости –

0

Вы можете использовать http://github.com/enormego/EGOTextFieldAlertView. Он предоставляет вам эти частные методы в подклассе UIAlertView. Таким образом, вам вообще не нужно менять свой код.

+1

Apple использует автоматический статический анализатор; приложение все равно будет отклонено, потому что метод называется одним и тем же, я думаю. – fraca7

+0

Насколько я знаю, это не тот случай: насколько мне известно, огромная (создатель этого класса) опубликовала некоторые приложения с помощью «EGOTextFieldAlertView». – MrMage

+0

Странно, я слышал о том, что приложения отклоняются из-за имени частного метода. Хорошо знать. – fraca7

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