我正在尝试将UIAlertView中的初始焦点设置为密码字段,但到目前为止我所尝试的都没有用。
我希望这段代码有效,但是有一个我无法弄清楚的错误:
- (void)showLoginFormWithUsername:(NSString*)username andPassword:(NSString*)password {
UIAlertView *loginView = [[UIAlertView alloc] initWithTitle:@"Login"
message:@"Please enter your login data."
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Login", nil];
loginView.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
// get TextFields
UITextField *usernameField = [loginView textFieldAtIndex:0];
UITextField *passwordField = [loginView textFieldAtIndex:1];
// set text
if (username)
usernameField.text = username;
if (password)
passwordField.text = password;
// set focus
if (usernameField.hasText && !passwordField.hasText)
[passwordField becomeFirstResponder];
[loginView show];
}
我做错了什么?
答案 0 :(得分:0)
在尝试使其成为响应者之前,您不是在等待警报视图显示。相反,请在didPresentAlertView:
方法中执行此操作。