UITextView inputAccessoryView的坑

UITextView inputAccessoryView的坑

問題

我集成了一個UITextView類,而後重載了segmentfault

- (UIView *)inputAccessoryView;


方法,在這個方法裏返回一個UIView,最後造成這樣的效果
UITextView效果ide

我設置.editable屬性爲NO,理論上應該不能夠編輯,可是我驚奇的發現當我雙擊個人TextView底部,我收到了UIKeyboardWillChangeFrameNotification這個通知。spa

查找問題

首先我把個人TextView所有替換爲系統的UITextView,發現沒有這個問題出現。code

- (UIView *)inputAccessoryView 
{
    if (self.hideToolBar)
    {
        return nil;
    }
    return self.toolbarAccessoryView;
}

在個人- (UIView *)inputAccessoryView方法裏面打上一個斷點,發現當我雙擊的時候這個方法會被調用。因而我又把個人方法改爲這樣input

- (UIView *)inputAccessoryView 
{
    return nil;
}

當我再雙擊的時候,不會收到UIKeyboardWillChangeFrameNotification通知,如今問題是找到了,把代碼改爲這樣it

- (UIView *)inputAccessoryView 
{
    if (self.hideToolBar || self.editable == NO)
    {
        return nil;
    }
    return self.toolbarAccessoryView;
}

就能達到我想要的效果。可是問題的根源仍是沒有找到,期待大神來探討。io

相關文章
相關標籤/搜索