創(chuàng)建UITextField的子類启昧,重寫canPerformAction:withSender:返回NO您不想允許的操作的方法:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if (action == @selector(paste:))//禁止粘貼
return NO;
if (action == @selector(select:))// 禁止選擇
return NO;
if (action == @selector(selectAll:))// 禁止全選
return NO;
return [super canPerformAction:action withSender:sender];
}
能夠控制用戶對輸入框進行哪種操作:
cut: // 剪切
copy: // 拷貝
select: // 選擇
selectAll: // 全選
paste: // 粘貼
delete: // 刪除
_promptForReplace: // Replace...
_transliterateChinese: // 簡<=>繁
_showTextStyleOptions: // B/<u>U</u>
_define: // Define
_addShortcut: // Learn...
_accessibilitySpeak: // Speak
_accessibilitySpeakLanguageSelection: // Speak...
_accessibilityPauseSpeaking: // Pause
_share: // 共享...
makeTextWritingDirectionRightToLeft: // 往右縮進
makeTextWritingDirectionLeftToRight: // 往左縮進
整體禁用:
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {
UIMenuController *menuController = [UIMenuController sharedMenuController];
if (menuController) {
[UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}