[myTextField becomeFirstResponder];
[myTextField resignFirstResonder];
当我这样做-(BOOL)textFieldShouldReturn:(UITextField *)textField
时,它有效。但是当我在-(void)textFieldDidBeginEditing:(UITextField *)textField
中使用相同的代码时,它不起作用。
我确信它正在调用textFieldDidBeginEditing
。我在方法中有NSLog
并且正在调用它。
答案 0 :(得分:7)
这是几年前,但需要相同的东西,这个答案在我的搜索结果的顶部,我最终玩了,并提出了这个:
[myTextField performSelector:@selector(resignFirstResponder)
withObject:nil
afterDelay:0
];
答案 1 :(得分:5)
在重新签名firstResponder状态之前,textField会回调自己的-canResignFirstResponder
方法,如果textField当前处于编辑会话中,则会返回NO
。如果要阻止编辑会话开始,可以实现-textFieldShouldBeginEditing:
委托方法返回NO
。