当用户长按UITextField时,我必须禁用“粘贴”选项。我已获得此代码但仍然没有隐藏粘贴选项。
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if ( [UIMenuController sharedMenuController] )
{
[UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}
任何人都可以帮助我吗?
答案 0 :(得分:4)
正如在评论中已经说过的那样,你需要“在UITextField的子类中包含完全相同的代码,然后使用该类的实例”
所以..创建新文件..让我们说TestPaste .. UITextField的子类
将您的代码放在实现文件(TextPaste.m)
中-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if ( [UIMenuController sharedMenuController] )
{
[UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}
现在。转到您的NIB / Storyboard,单击您的UITextFiled并将textview类更改为TextPaste
答案 1 :(得分:1)
Piya只需查看以下链接: -
http://eureka.ykyuen.info/2010/04/12/iphone-disable-the-cutcopypaste-menu-on-uitextfield/
您还可以查看此代码: -
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(paste:))
return NO;
return [super canPerformAction:action withSender:sender];
}
答案 2 :(得分:1)
您必须创建一个新类 - > UITextField的子类..然后在你的代码/ xib中将textview类更改为自定义类..并在自定义TextField类中添加方法
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(paste:))
return NO;
return [super canPerformAction:action withSender:sender];
}
它会起作用
答案 3 :(得分:0)
使用此
@implementation UITextFiels (DisableCopyPaste)
- (BOOL)canBecomeFirstResponder
{
return NO;
}
@end