如何在iOS 7中向UIAlertView添加多个UITextField?

时间:2013-09-30 09:19:00

标签: iphone ios

我需要在iOS 7中的UIAlertView上添加多个UITextField吗?

 myAlertView = [[UIAlertView alloc] initWithTitle:@"Enter Your Detail" message:@"\n\n\n\n\n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Register",nil];
txtEmail = [[UITextField alloc] initWithFrame:CGRectMake(30, 40, 220, 25)];
txtEmail.placeholder = @"email address";
txtFirstName = [[UITextField alloc] initWithFrame:CGRectMake(30, 70, 220, 25)];
txtFirstName.placeholder = @"first Name";
txtSurname = [[UITextField alloc] initWithFrame:CGRectMake(30, 100, 220, 25)];
txtSurname.placeholder = @"surname";
[myAlertView addSubview:txtEmail];
[myAlertView addSubview:txtFirstName];
[myAlertView addSubview:txtSurname];

[myAlertView show];
在IOS 6中

没问题,但在IOS 7中它没有显示UITextField

6 个答案:

答案 0 :(得分:7)

您不能再这样做了,iOS7中的addSubview不再有UIAlertView

以下是不错的选择:

ios-custom-alertview

MZFormSheetController

答案 1 :(得分:2)

在您的情况下,另一种选择是设置 alert.alertViewStyle = UIAlertViewStylePlainTextInput;

这将为您添加一个文本字段。您可以使用UITextField *textField = [alertView textFieldAtIndex:0];在UIAlertView委托回调中访问它。

答案 2 :(得分:0)

在Ios7中,您需要设置

myAlertView.alertViewStyle = UIAlertViewStylePlainTextInput;

答案 3 :(得分:0)

您无法在iOS7中的addSubview上使用UIAlertView。 这就是为什么它不起作用,作为替代方案,您可以使用自定义视图来执行此操作。 创建自定义视图并向其添加文本字段并为其添加动画。

您可以在此链接上找到自定义提醒视图:Cocoa Controls

答案 4 :(得分:0)

试试这个,

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Forgot Password" message:@"Please enter the email ID associated with your Hngre account." delegate:self cancelButtonTitle:@"Here you go" otherButtonTitles:@"No, thanks", nil];
alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
[alert textFieldAtIndex:1].secureTextEntry = NO; //Will disable secure text entry for second textfield.
[alert textFieldAtIndex:0].placeholder = @"First Placeholder"; //Will replace "Username"
[alert textFieldAtIndex:1].placeholder = @"Second Placeholder"; //Will replace "Password"
[alert show];

答案 5 :(得分:0)

m1entus尝试MZFormSheetPresentationController

他提供了很多关于GitHub和CocoaPods的例子,他们已经准备好了。