0

我有一个 UIViewController 子类,它充当 UITextView 的委托。我实现了 textViewDidBeginEditing 以显示一个“完成”按钮来关闭文本视图......一切都很好......除了当文本视图有文本并且不处于编辑模式时,如果用户在文本视图中握住手指导致要使用放大镜缩放的文本,出现键盘但 textViewDidBeginEditing 不触发。

我试图通过实现 UIScrollView 委托方法 viewForZoomingInScrollView 和 scrollViewDidEndZooming 来解决这个问题,但我根本无法让它们为我触发。

我尝试使用 minimumZoomScale 和 maximumZoomScale 属性来禁用缩放...无济于事。

在这一点上,我不知道接下来要尝试什么,或者我捕获 UIScrollView 委托方法的失败是否与我的主要问题有关。我不确定我可以发布哪些有价值的代码...... textViewDidBeginEditing 方法非常小,在正常情况下可以正常工作。UITextView 委托分配是通过在 Interface Builder 中与控制器(文件所有者)的连接进行的。

4

1 回答 1

1

一种解决方法可能是注册键盘通知。一旦你这样做了,你就会知道键盘何时显示。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationShow:) name:UIKeyboardWillShowNotification object:nil];  

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationHide:) name:UIKeyboardWillHideNotification object:nil];  
于 2009-06-18T00:07:24.347 回答