Iphone UITextView';他是第一个反应不正常的人

Iphone UITextView';他是第一个反应不正常的人,iphone,objective-c,ios,uitextview,Iphone,Objective C,Ios,Uitextview,我有一个UIView,其中UITextView和UITextField作为子视图。我希望键盘自动显示在textfield shouldReturncall上 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; [textView becomeFirstResponder]; return YES; } 但这不起作用,而且由于某些原因,它会在文

我有一个
UIView
,其中
UITextView
UITextField
作为子视图。我希望键盘自动显示在
textfield shouldReturn
call上

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    [textView becomeFirstResponder];
    return YES;
}
但这不起作用,而且由于某些原因,它会在文本视图的下一行显示带有光标的键盘。我试图在textview中设置text nil,但它会自动调用
textDidChange
方法,并且光标在新行上移动,没有任何文本

同样的技术适用于
UITextField
,也适用于iOS 5.0,但如何在iOS 4.3中解决这个问题。如果您还有其他选择,请告诉我


我是否遗漏了一些显而易见的东西?

在iOS中存在一个已知的bug,即辞职并成为同一运行循环中的第一响应者。试试下面的方法

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

你能展示更多的代码吗?此外,如果您使用故事板,我相信有一种方法可以在第一次出现视图时选择UITextView,它应该会打开键盘,这样您就不必手动进行操作。要添加到Kinetic的注释中,故事板项目仅针对iOS 5正确编译,因此可能会出现问题。如果不是,也许您在UITextView委托方法中做了一些古怪的事情?发布更多代码以获得更具体的帮助,因为您发布的阻止似乎不是问题所在。顺便说一句,我认为您之前不必致电resignFirstResponder,我认为成为FirstResponder就足够了。