参考:http://blog.csdn.net/chengkaizone/article/details/25880947
在Textfield输入框搭建时可以设置输入后键盘enter变为指定的意义, 比如"下一项"/"完成"之类的。
但是, 其实它并没有包含具体的意义, 当你需要进行下一个输入框操作的时候, 你需要程序去控制它。
首先你需要知道几个textfield操作键盘的api
释放键盘焦点
[txtField resignFirstResponder];
激活键盘焦点
[txtField becomeFirstResponder];
绑定txtField事件所需的代理类
txtField。delegate = self;
//此时的self必须继承<UITextFieldDelegate>
- 当enter键按下调用下面这个方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
//此时textField为当前输入中的文本框
//可以这样进行判断
if(textField==txtA){
[txtB becomeFirstResponder];
}
return true;
}
更多的文本相互依赖, 在上面的逻辑进行判断和激活新的键盘响应, 最后一个文本可以直接实现点击按钮的效果
- 添加文本事件
[txtField addTarget:self action:@selector(onActTxt:) forControlEvents:UIControlEventEditingChanged];
另外说一点, textField类是基于UIControll类的, 而不是直接基于UIView。 这也表示这个类支持添加对象方法, 貌似delegate和addTarget方法有部分是通用的, 并没具体去测试, 大家有兴趣可以去尝试和指正
比如上面这个改变文本的方法, 只能检测改变, 而用代理可以知道输入的文本
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;