隐藏 UITextField 和 UITextView 中的菜单栏(剪切、拷贝、粘贴和替换等)

如上图,我们在使用UITextField和UITextView时,iOS为我们提供了这些很方便的编辑功能,但是有时这些功能也给我们带来了很多的麻烦──前段时间我做得一个产品需要用户登录,我们期望用户输入的密码是数字(给用户提供的是数字键盘),但是有些的用户在注册时使用了剪贴板(pasteBoard)输入了一些汉字(现在的用户还真是从大树林里出来的啊),这让我很头痛!经过多方遍寻名义,终于找的了解决之道!其实很简单就是重载UIResponder类的一个实例方法:

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    if ([UIMenuController sharedMenuController]) {
        [UIMenuController sharedMenuController].menuVisible = NO;
    }
    return YES;
} 

这样,我们就可以将这些功能禁掉了!

注:UIMenuController就是我们看到的这些功能的一个视图控制器,将它的menuVisible的值置为NO, 我们就隐藏了这些功能了!

posted @ 2011-11-18 17:05  Ray_Zhang  阅读(1807)  评论(0编辑  收藏  举报