UITextField 長按復制粘貼等框里等功能的編輯,取消

UITextField 長按復制粘貼等框里等功能的編輯,取消

一、在開發中我們會遇到需要去掉 UITextField 長按復制粘貼等框里等功能。那么如果你的項目里面只有一個 TextField 或者 統一的 TextField。可以重寫 UITextField 里面的方法 全部返回 no。就可以取消所有功能。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
 
    NSLog(@"%@",NSStringFromSelector(action));
    
    return NO;
}
長按的時候textField的執行方法打印

二、如果想要選擇性的去掉一些。
那么可以 如下判斷

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
 
    NSLog(@"%@",NSStringFromSelector(action));
    
    if (action == @selector(cut:) || action == @selector(copy:)) {
        return NO;
    }
    
    return YES;
}

三、如果你的項目里面有多個 UITextField ,而且長按的需求功能不統一,那么如果統一重寫以上方法,那么勢必會造成沖突,解決辦法就是繼承自UITextField ,在各自的子類里面去重寫這個方法。

好了,一個小技巧總結,分享給大家。歡迎交流學習。

詩說百態,歌賦養心。穿石天下,永不止步。碼農世界,行行生命。
—詩說穿石—

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容