UITextView的becomeFirstResponsder不能正常工作

我有UITextViewUITextField作为子视图的UIView 。 我希望键盘在textFieldShouldReturn调用中自动出现。

 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; [textView becomeFirstResponder]; return YES; } 

但是这不起作用,并且由于某种原因,它在文本视图的下一行显示带有光标的键盘。 我尝试在textview中设置文本nil,但它自动调用textDidChange方法,并且光标在新行上移动而没有任何文本。

在这里输入图像说明

这同样的技术对UITextField工作正常,它也适用于iOS 5.0,但如何解决这个在iOS 4.3。 让我知道如果你有其他select。

我错过了什么明显的?

在iOS中有一个已知的错误,在同一个runloop中辞职并成为第一响应者。 尝试以下

 [textField resignFirstResponder]; [textView performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.0];