Ios 检测用户何时开始编辑UITextView

Ios 检测用户何时开始编辑UITextView,ios,uitextview,Ios,Uitextview,我想知道是否有可能检测到用户是否开始编辑文本视图(以便我可以对视图进行某些调整)。是否需要改为检测键盘?是可以使用UITextView的委托。您可以查看UITextViewDelegate协议的文档 有一个很好的教程将向您展示如何使用UITextViewDelegate协议检测这些交互。看一看。如果要在用户键入时做出反应,请执行textView:shouldChangeTextInRange:replacementText:,否则执行textViewDidChange: 编辑:如果您只对文本字段

我想知道是否有可能检测到用户是否开始编辑文本视图(以便我可以对视图进行某些调整)。是否需要改为检测键盘?

是可以使用
UITextView
的委托。您可以查看
UITextViewDelegate
协议的文档

有一个很好的教程将向您展示如何使用
UITextViewDelegate
协议检测这些交互。

看一看。如果要在用户键入时做出反应,请执行
textView:shouldChangeTextInRange:replacementText:
,否则执行
textViewDidChange:


编辑:如果您只对文本字段成为第一响应者(即用户设置焦点)感兴趣,请使用
textviewdebeginediting

在xib文件中指定您的textView的代理(或以编程方式)

使用其中一种:

-(BOOL)textViewDidBeginEditing:(UITextView*)textView{


-(BOOL)textView应该开始编辑:(UITextView*)textView{

这不是检测用户何时开始编辑的正确委托方法。因为问题是关于检测键盘,所以问题真正想知道文本视图何时获得焦点。这取决于您如何定义“编辑”.
textViewDidBeginEditing
是在用户设置光标时调用的,而不是在用户实际编辑文本以添加或删除字符时调用的。请参见我刚才在问题上留下的注释。@ashtom他想知道键盘何时出现,如问题中所述。因此
textViewDidBeginEditing
是一种方法。(我假设textView被键盘覆盖,所以他希望在键盘显示时转换它,以便它可见。)@AlbertRenshaw:编辑我的答案以反映这两种方式。要清楚,您是想检测焦点何时移到文本视图,还是想知道用户何时在文本视图中进行实际文本更改?