UITextView inputAccessoryView的坑
问题
我集成了一个UITextView类,然后重载了
- (UIView *)inputAccessoryView;
方法,在这个方法里返回一个UIView,最后形成这样的效果
我设置.editable属性为NO,理论上应该不可以编辑,但是我惊奇的发现当我双击我的TextView底部,我收到了UIKeyboardWillChangeFrameNotification这个通知。
查找问题
首先我把我的TextView全部替换为系统的UITextView,发现没有这个问题出现。
- (UIView *)inputAccessoryView
{
if (self.hideToolBar)
{
return nil;
}
return self.toolbarAccessoryView;
}
在我的- (UIView *)inputAccessoryView
方法里面打上一个断点,发现当我双击的时候这个方法会被调用。于是我又把我的方法改成这样
- (UIView *)inputAccessoryView
{
return nil;
}
当我再双击的时候,不会收到UIKeyboardWillChangeFrameNotification通知,现在问题是找到了,把代码改成这样
- (UIView *)inputAccessoryView
{
if (self.hideToolBar || self.editable == NO)
{
return nil;
}
return self.toolbarAccessoryView;
}
就能达到我想要的效果。但是问题的根源还是没有找到,期待大神来探讨。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。