强制UIView重新编辑未按预期工作
我在UIView中使用强制UIView重新编辑未按预期工作,uiview,Uiview,我在UIView中使用-(BOOL)endEditing:(BOOL)force方法来结束对视图中文本字段的编辑,并发现了一些意外行为 我创建了一个简单的测试程序,带有一个UITextField和两个UIButton。一个按钮调用[self.view endEditing:YES]以强制结束编辑,而另一个按钮调用[self.view endEditing:NO]以结束编辑,而不强制 该文件是textfield的委托,我在 -(BOOL)textField应取消编辑:(UITextField*)t
-(BOOL)endEditing:(BOOL)force
方法来结束对视图中文本字段的编辑,并发现了一些意外行为
我创建了一个简单的测试程序,带有一个UITextField和两个UIButton。一个按钮调用[self.view endEditing:YES]
以强制结束编辑,而另一个按钮调用[self.view endEditing:NO]
以结束编辑,而不强制
该文件是textfield的委托,我在
-(BOOL)textField应取消编辑:(UITextField*)textField
方法
以下是按钮和文本字段代理的代码:
-(IBAction)doEndEditingForced:(id)sender {
NSLog(@"==========================");
NSLog(@"In doEndEditingForced");
[self.view endEditing:YES];
}
-(IBAction)doEndEditingNotForced:(id)sender {
NSLog(@"==========================");
NSLog(@"In doEndEditingNotForced");
[self.view endEditing:NO];
}
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField {
NSLog(@"ShouldEndEditing");
return YES;
}
这是我得到的结果:
2011-10-03 15:36:22.153 Test[94596:207] ==========================
2011-10-03 15:36:22.155 Test[94596:207] In doEndEditingForced
2011-10-03 15:36:22.156 Test[94596:207] ShouldEndEditing
2011-10-03 15:36:26.145 Test[94596:207] ==========================
2011-10-03 15:36:26.146 Test[94596:207] In doEndEditingNotForced
2011-10-03 15:36:26.147 Test[94596:207] ShouldEndEditing
2011-10-03 15:36:26.148 Test[94596:207] ShouldEndEditing
如果调用
endEditing
时force
参数等于YES
,为什么要调用textfield应该endEditing
方法,而调用endEditing
时force
参数等于NO
,为什么textfield应该取消编辑
方法被调用两次?这种情况的发生是因为取消编辑方法不调用UITextField的任何委托方法,或者UITextView只是在视图中隐藏键盘