use*_*977 1 objective-c uitextfield uikeyboard ibaction ios
现在我有一个简单的登录视图控制器.它有2个文本字段,一个用于用户名,另一个用于密码.我想为这两个文本字段的键盘添加以下功能:
当用户在用户名文本字段中输入用户名时,他们应该能够按下"下一步"返回键,该键应将其带到第二个文本字段以获取密码.
当用户输入密码并按下键盘的"完成"返回键时,我想执行我已设置的IBAction.
这是我想在用户按下密码文本字段中的"完成"返回键时执行的IBAction代码:
-(IBAction)didTapLoginButton:(id)sender {
[self textFieldShouldReturn:_usernameEntry];
NSString *user = [_usernameEntry text];
NSString *pass = [_passwordEntry text];
if ([user length] < 4 || [pass length] < 4) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Entry" message:@"Username and Password must both be at least 4 characters long." delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil];
[alert show];
} else {
[_activityIndicator startAnimating];
[PFUser logInWithUsernameInBackground:user password:pass block:^(PFUser *user, NSError *error) {
[_activityIndicator stopAnimating];
if (user) {
NSLog(@"Successful login");
//[self performSegueWithIdentifier:@"loginToMainAppSegue" sender:self];
[self performSegueWithIdentifier:@"loginToMediaCaptureVC" sender:self];
} else {
NSLog(@"%@",error);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login Failed." message:@"Invalid Username and/or Password." delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil];
[alert show];
}
}];
}
}
Run Code Online (Sandbox Code Playgroud)
我已经将视图控制器设置为委托,并且两个文本字段都可以正常工作,但我想添加上面列出的额外功能.
如果它有所不同,则不会以编程方式创建文本字段和键盘.它们是在故事板上创建的.
谢谢您的帮助.
step1 - 为您的文本字段添加标记
step2 - 检查标签 - (BOOL)textFieldShouldReturn:(UITextField *)textField;
如果第一个用户名处于活动状态,becomes first responder.则在密码字段处于活动状resign first responder
-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
if([_txtFieldUserName isFirstResponder]){
[_txtFieldPassword becomeFirstResponder];
}
else if ([_txtFieldPassword isFirstResponder]){
[_txtFieldPassword resignFirstResponder];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3120 次 |
| 最近记录: |