參考:http://blog.csdn.net/chengkaizone/article/details/25880947
在Textfield輸入框搭建時可以設置輸入后鍵盤enter變?yōu)橹付ǖ囊饬x, 比如"下一項"/"完成"之類的芯丧。
但是芍阎, 其實它并沒有包含具體的意義, 當你需要進行下一個輸入框操作的時候缨恒, 你需要程序去控制它谴咸。
首先你需要知道幾個textfield操作鍵盤的api
釋放鍵盤焦點
[txtField resignFirstResponder];
激活鍵盤焦點
[txtField becomeFirstResponder];
綁定txtField事件所需的代理類
txtField。delegate = self;
//此時的self必須繼承<UITextFieldDelegate>
- 當enter鍵按下調(diào)用下面這個方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
//此時textField為當前輸入中的文本框
//可以這樣進行判斷
if(textField==txtA){
[txtB becomeFirstResponder];
}
return true;
}
更多的文本相互依賴骗露, 在上面的邏輯進行判斷和激活新的鍵盤響應寿冕, 最后一個文本可以直接實現(xiàn)點擊按鈕的效果
- 添加文本事件
[txtField addTarget:self action:@selector(onActTxt:) forControlEvents:UIControlEventEditingChanged];
另外說一點, textField類是基于UIControll類的椒袍, 而不是直接基于UIView驼唱。 這也表示這個類支持添加對象方法, 貌似delegate和addTarget方法有部分是通用的驹暑, 并沒具體去測試玫恳, 大家有興趣可以去嘗試和指正
比如上面這個改變文本的方法, 只能檢測改變优俘, 而用代理可以知道輸入的文本
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;