如何以编程方式提供UITextView焦点?

所以我想引入一个模态视图控制器,其中有一个UITextView,我想键盘自动popup和UITextView有焦点。

我find了一个办法来做到这一点,做到以下几点:

textView.editable = YES; textView.editable = NO; 

这对我来说似乎很难受,还有另一种方式吗?

由于UITextViewUIResponderinheritance(间接的,它实际上inheritance了UIScrollView ,它inheritance自UIView然后UIResponderinheritance),你可以在文本字段上调用-becomeFirstResponder方法,这会使它成为第一个响应者并开始编辑:

 [textView becomeFirstResponder]; 

迅速:

 textView.becomeFirstResponder() 

这似乎有点hackish。

“有焦点”的Cocoa Touch术语是“第一响应者”,当他们是第一响应者时, UITextView将显示他们的键盘。 我可以想到几种技术,使UITextView成为第一响应者,但最简单的可能是在你的视图控制器的viewWillAppear或viewDidAppear方法:

 - (void)viewWillAppear:(BOOL)animation
 {

     [myTextView becomeFirstResponder];

     [super viewWillAppear:animated];
 }
 [textView becomeFirstResponder];