在 iOS5 的 uitextfield 中禁用粘贴

Posted

技术标签:

【中文标题】在 iOS5 的 uitextfield 中禁用粘贴【英文标题】:Disable paste in uitextfield in iOS5 【发布时间】:2011-11-16 15:34:06 【问题描述】:

我正在尝试使用以下代码禁用在文本字段中的粘贴:

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

  if ([UIMenuController sharedMenuController]) 

    [UIMenuController sharedMenuController].menuVisible = NO;

  

  return NO;

我在其他项目中有此代码并且它有效,但是在我当前的项目中它只是被多次调用,然后显示粘贴菜单项。

我能看到的唯一不同的是,在这个项目中,上面代码所在的视图控制器是自定义视图控制器的子级。

编辑

当我在模拟器中使用 ios4.3 而不是 iOS5 运行它时,它没有显示菜单选项

【问题讨论】:

【参考方案1】:

我终于到了那里。我没有将代码放入 viewcontroller 中,而是将 UITextField 子类化并将其放置在那里并且它可以工作。

我基于这里的示例:

How do you REALLY remove Copy from UIMenuController

【讨论】:

是的,我发现 UITextField 的子类化在 Xcode 5.1 中有效。我遇到了同样的问题,经过一番努力,我想出了这个更详细的大纲。如果您愿意,您可以免费使用它。 ***.com/questions/24514104/…

以上是关于在 iOS5 的 uitextfield 中禁用粘贴的主要内容,如果未能解决你的问题,请参考以下文章

在 UITextField 中禁用“定义”

在 uitextfield 中禁用查找和共享文本选择

在 UITableView 中编辑 UITextField(启用/禁用输入)?

禁用 UITextField 时如何在 leftView/rightView 中启用点击?

用户可以选择禁用用户交互的UITextField

如何在UITextField和UISearchBar中禁用长按手势识别器?