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

Mer*_*oon 58 cocoa-touch objective-c uikit ios

所以我想引入一个模态视图控制器,里面有一个UITextView,我想让键盘自动弹出,UITextView有焦点.

通过执行以下操作,我找到了实现此目的的方法:

textView.editable = YES;
textView.editable = NO;
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很难看,还有另外一种方法吗?

Ale*_*ski 158

由于UITextView从继承UIResponder(间接,它实际上继承UIScrollView,它继承自UIView,然后从继承UIResponder),你可以调用-becomeFirstResponder你的文本字段的方法,这将导致其成为第一个响应并开始编辑:

[textView becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)


Esq*_*uth 19

迅速:

textView.becomeFirstResponder()
Run Code Online (Sandbox Code Playgroud)


Eri*_*rik 11

这确实有点像哈希.

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

- (void)viewWillAppear:(BOOL)animated
{

    [myTextView becomeFirstResponder];

    [super viewWillAppear:animated];
}


Cor*_*oyd 7

[textView becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)