我有一个UIView
,UITextView
和UITextField
作为子视图。我希望键盘在textFieldShouldReturn
通话时自动显示。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
[textView becomeFirstResponder];
return YES;
}
但是这不起作用并且出于某种原因,它在文本视图中的下一行显示带有光标的键盘。我尝试在textview中设置文本nil,但它会自动调用textDidChange
方法并且光标在新行上移动而没有任何文本。
这种技术对于UITextField
也能正常工作,而且它适用于iOS 5.0但是如何在iOS 4.3中解决这个问题。如果您有任何其他选择,请告诉我。
我错过了一些明显的东西吗?
答案 0 :(得分:31)
iOS中存在一个已知的错误,即在同一个runloop中辞职并成为第一响应者。请尝试以下
[textField resignFirstResponder];
[textView performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0];