我有一个UIViewController子类,它充当UITextView的委托。我实现了textViewDidBeginEditing以显示“完成”按钮以关闭文本视图...一切都很好...除了文本视图有文本但不处于编辑模式时,如果用户在文本视图中握住手指要使用放大镜进行缩放的文本,键盘会出现,但textViewDidBeginEditing不会触发。
我试图通过实现UIScrollView委托方法viewForZoomingInScrollView和scrollViewDidEndZooming来解决这个问题,但我根本无法解决这些问题。
我尝试使用minimumZoomScale和maximumZoomScale属性来禁用缩放......但无济于事。
此时我不知道接下来要尝试什么,或者我捕获UIScrollView委托方法的失败与我的主要问题有关。我不确定我可以发布哪些代码有价值... textViewDidBeginEditing方法非常小,在正常情况下工作正常。 UITextView委托分配是通过Interface Builder中的连接到控制器(文件所有者)。
答案 0 :(得分:1)
解决方法可能是注册键盘通知。一旦你这样做,将确切知道键盘的显示时间。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardNotificationHide:) name:UIKeyboardWillHideNotification object:nil];