ios8 UIAlertView成为密码UITextField无法正常工作的第一个响应者

时间:2014-09-23 14:44:23

标签: objective-c ios8 uialertview

这在iOS7中运行正常。升级到iOS8后,奇怪的是无法正常工作。

因此,如果用户之前已登录,则会保存用户名并需要密码。很简单,我只是在0索引UITextField中输入用户名并将光标设置为UITextField的1索引UIAlertView

在我必须将becomeFirstResponder设置为UITextField中的数字1索引UIAlertView之前。奇怪的是,我实际上可以将文本设置为数字1索引UITextField。所以我知道我仍然正确访问UITextField

相当简单的代码。

这是我的代码......

- (IBAction)actionTesting:(id)sender {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login" message:@"" delegate:self cancelButtonTitle:@"Login" otherButtonTitles: nil];
    alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
    alert.tag = 999;

    UITextField *txtUserName = [alert textFieldAtIndex:0];
    UITextField *txtPassword = [alert textFieldAtIndex:1];

    txtUserName.text = @"";
    txtPassword.text = @"";

    [alert textFieldAtIndex:1].delegate = self;
    [alert show];
}

-(void)didPresentAlertView:(UIAlertView *)alertView{
    UITextField *txtUserName = [alertView textFieldAtIndex:0];
    UITextField *txtPassword = [alertView textFieldAtIndex:1];
    txtUserName.text = @"username";
    txtPassword.text = @"password";
    [txtPassword becomeFirstResponder];
}

看起来我们有了新的UIAlertController。我只是希望能够正常工作,所以我现在不需要对原始代码进行任何更改。

1 个答案:

答案 0 :(得分:0)

看起来Apple纠正了这个问题。我刚才注意到功能正在运行