在 UIAlertView 试图查看两个文本字段。它显示文本字段数组iOS7的错误范围

Posted

技术标签:

【中文标题】在 UIAlertView 试图查看两个文本字段。它显示文本字段数组iOS7的错误范围【英文标题】:In UIAlertView trying to view two textfield. Its showing error bounds of the array of text fields iOS7 【发布时间】:2014-04-21 07:57:28 【问题描述】:

您好,我正在尝试查看 UIAlertView 中的两个文本字段,但显示错误。我已经使用下面的代码来查看文本字段。

- (void)viewDidLoad

    [super viewDidLoad];

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Hello!"
                                                     message:@"Please enter your details:"
                                                    delegate:self
                                           cancelButtonTitle:@"Continue"
                                           otherButtonTitles:nil];
    alert.alertViewStyle = UIAlertViewStylePlainTextInput;

    UITextField * name = [alert textFieldAtIndex:0];
    name.keyboardType = UIKeyboardTypeAlphabet;
    name.placeholder = @"Enter your name";

    UITextField * phone = [alert textFieldAtIndex:1];
    phone.keyboardType = UIKeyboardTypeNumberPad;
    phone.placeholder = @"Enter your phone";

    [alert show];
    [alert release];

我已经使用上面的代码查看了两个文本文件,但我越来越喜欢了。 'textFieldIndex (1) 超出了文本字段数组的范围'

请告诉我我在上面的代码中哪里做错了,请告诉我要解决这个问题。

【问题讨论】:

查看***.com/questions/18886048/… 【参考方案1】:

查看UIAlertView.h文件

/* 在索引处检索文本字段 - 引发 NSRangeException 时 textFieldIndex 超出范围。索引 0 处的字段将是 第一个文本字段(单个字段或登录字段),该字段位于 索引 1 将是密码字段。 */

- (UITextField *)textFieldAtIndex:(NSInteger)textFieldIndex NS_AVAILABLE_ios(5_0);

这样做:

alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;

UITextField * name = [alert textFieldAtIndex:0];
name.keyboardType = UIKeyboardTypeAlphabet;
name.placeholder = @"Enter your name";

UITextField * phone = [alert textFieldAtIndex:1];
phone.secureTextEntry = NO;
phone.keyboardType = UIKeyboardTypeNumberPad;
phone.placeholder = @"Enter your phone";

【讨论】:

以上是关于在 UIAlertView 试图查看两个文本字段。它显示文本字段数组iOS7的错误范围的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIAlertview 中为文本字段设置货币格式

如何在 UIAlertView 的消息字段中添加多行文本

UIAlertView 文本字段捕获 onchange

UIAlertView 错误超出文本字段数组的范围但未使用文本字段

UIAlertView 处理文本字段

带有一个文本字段的 UIAlertView(用于登录目的)