UIAlertView中的多个UITextField

时间:2014-12-17 17:56:57

标签: ios objective-c ios7 uitextfield uialertview

我使用UIAlertView显示包含用户名,电子邮件和密码的注册表单。但我对UITextField有一点问题:

错误:
NSInvalidArgumentException',原因:'textFieldIndex(2)超出文本字段数组的范围

我的代码

// iOS7
        UIAlertView *registerAlertView = [[UIAlertView alloc]
                                       initWithTitle:@"Register"
                                       message:@"Enter your username, email & password."
                                       delegate:self
                                       cancelButtonTitle:@"Cancel"
                                       otherButtonTitles:@"Register", nil];
        [registerAlertView setAlertViewStyle:UIAlertViewStylePlainTextInput];

        UITextField *username = [registerAlertView textFieldAtIndex:0];
        UITextField *email = [registerAlertView textFieldAtIndex:1];
        UITextField *password = [registerAlertView textFieldAtIndex:2];
        password.secureTextEntry = YES;

        [registerAlertView show];

感谢您的回答。

1 个答案:

答案 0 :(得分:4)

警报样式UIAlertViewStylePlainTextInput仅提供一个文本字段。最多可以使用UIAlertViewStyleLoginAndPasswordInput样式获得两个文本字段。

您的代码尝试使用3个文本字段。这是不受支持的。

如果您想要有三个文本字段,则需要创建或查找自定义警报视图控件。