0

我想禁用 UITextField 的“粘贴”选项,在我的 UITextField 的委托类中,我提供了一个实现:

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender 

NSObject(UIResponderStandardEditActions)定义了以下操作,我将所有这些操作都发送给我,canPerformAction除了paste:

@interface NSObject(UIResponderStandardEditActions)   // these methods are not implemented in NSObject

- (void)cut:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)copy:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)paste:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)select:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)selectAll:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);
- (void)delete:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_2);
- (void)makeTextWritingDirectionLeftToRight:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);
- (void)makeTextWritingDirectionRightToLeft:(id)sender __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0);

@end

现在,只要剪贴板中有内容并且我将焦点放在 UITextField 上,我就会看到显示的“粘贴”菜单。

我还应该做些什么来接收粘贴消息?

4

1 回答 1

1

创建一个子类UITextField并覆盖canPerform那里,该paste:操作在 上调用UITextField,而不是在delegate

于 2015-03-17T13:23:07.377 回答