本项目是取自传智播客的教学项目,加入笔者的修改和润饰。
1. 项目名称:用户登录
项目功能:
- 能够输入用户名和密码
- 点击按钮后输出用户名和密码
- 细节功能:
- 刚进入界面即打开键盘
- 输入用户名后点击return键,光标自动跳到密码输入框中
- 输入密码后点击return键,直接调用登录方法并关闭键盘
2. 项目截图展示
3. 代码
#import "ViewController.h"
@interface ViewController ()<UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *userNameText;//输入用户名文本框
@property (weak, nonatomic) IBOutlet UITextField *pwdText;//输入密码文本框
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//刚进入程序就打开键盘
[self.userNameText becomeFirstResponder];
}
- (IBAction)login
{
NSLog(@"%@ %@", self.userNameText.text, self.pwdText.text);
}
#pragma mark 文本框代理方法
// 在文本框中按return键触发的方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
NSLog(@"%@", textField);
// 如果光标在用户名文本框,在点击return键之后,光标切换到密码文本框
if (textField == self.userNameText)
{
// 令密码文本框成为第一响应者
[self.pwdText becomeFirstResponder];
} else if (textField == self.pwdText) {
// 如果光标在密码文本框,在点击return键之后,直接调用登录方法
[self login];
// 调用登录方法后,关闭键盘
[self.pwdText resignFirstResponder];
}
return YES;
}
@end
4. 必须掌握的代码段
-刚进入页面就打开键盘
- (void)viewDidLoad
{
[super viewDidLoad];
[self.userNameText becomeFirstResponder];
}
- 监听键盘点击return按钮的方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
- 退出键盘
[self.pwdText resignFirstResponder];
5. 笔记
- 当我们无法使用监听某些特定方法时,需要使用代理方法。本项目中,我们无法监听用户是否点击了键盘上的return键,所以我们只能调用特有的监听点击return键的代理方法。