Проблема UITextField в iOS 7

UIAlertView с UITextField не работает в iOS 7. Как исправить?

Вот ScreenShot:

Вот мой код:

Как я могу получить UITextFeield в UIAlertView в iOS7?

-(void)takeUserName
{ mChangePlayerAlert = [[UIAlertView alloc] init]; mChangePlayerAlert.title = title; mChangePlayerAlert.message = @"\n"; mChangePlayerAlert.delegate = self; [mChangePlayerAlert addButtonWithTitle:@"Save"]; [mChangePlayerAlert addButtonWithTitle:@"Cancel"]; CGRect frame; frame = CGRectMake(20, 45, 245, 27);//(200, 500, 400, 120); mTextFeild = [[UITextField alloc] initWithFrame:frame]; mTextFeild.textColor = [UIColor blueColor]; mTextFeild.borderStyle = UITextBorderStyleRoundedRect; mTextFeild.keyboardType = inType;//; mTextFeild.returnKeyType = UIReturnKeyDone; mTextFeild.autocorrectionType = UITextAutocorrectionTypeNo; mTextFeild.autocapitalizationType = UITextAutocapitalizationTypeNone; mTextFeild.delegate = self; [mChangePlayerAlert addSubview:mTextFeild]; mTextFeild.delegate = self; [mTextFeild becomeFirstResponder]; [mChangePlayerAlert show];
}
4 ответа

Вы не должны использовать текстовое представление.

mChangePlayerAlert.alertViewStyle = UIAlertViewStylePlainTextInput;

Чтобы получить значение позже, используйте textFieldAtIndex: в textFieldAtIndex: просмотра предупреждения:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{ if(buttonIndex != alertView.cancelButtonIndex) { NSString* text = [alertView textFieldAtIndex:0].text; ... }
}


Вы можете использовать Custom Alert View вместо этого и добавлять туда любой контент: Пользовательский iOS 7 Alert View


если выше ответ не работает, попробуйте это

[txtvwMessage setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];

Как правило, преобразование iOS6 в iOS7 теряет элементы управления дизайном. Вот почему концепция автосохранения помогает вам в конверсии


Попробуй это.

- (********)showAlert:(id)sender
{ UIAlertView *alertView = [[UIAlertView alloc] init]; switch (((******** *)sender).tag) { // Default Alert View case 1001: alertView.title = @"Default Alert View"; alertView.message = @"UIAlertViewStyleDefault"; [alertView addButtonWithTitle:@"OK"]; break; // Secure Alert View case 1002: alertView.title = @"Secure Alert View"; alertView.message = @"UIAlertViewStyleSecureTextInput"; alertView.alertViewStyle = UIAlertViewStyleSecureTextInput; [alertView addButtonWithTitle:@"OK"]; [alertView addButtonWithTitle:@"Cancel"]; break; // Plain Alert View case 1003: alertView.title = @"Plain Alert View"; alertView.message = @"UIAlertViewStylePlainTextInput"; alertView.alertViewStyle = UIAlertViewStylePlainTextInput; [alertView addButtonWithTitle:@"OK"]; [alertView addButtonWithTitle:@"Cancel"]; break; // Login ALert View case 1004: alertView.title = @"Login Alert View"; alertView.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput; [alertView addButtonWithTitle:@"OK"]; [alertView addButtonWithTitle:@"Cancel"]; break; } [alertView show]; }

licensed under cc by-sa 3.0 with attribution.