热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在UITextfield中禁用UIMenuController的复制和定义UIMenuItems

如何解决《如何在UITextfield中禁用UIMenuController的复制和定义UIMenuItems》经验,为你挑选了1个好方法。

我正在实施自定义UIMenuController并试图找出答案.我怎样才能合法地禁用"复制"和"定义"的UIMenuItems UIMenuControllerUITextfield?Textfield不可编辑.我尝试使用以下命令禁用"复制":

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{
   if (action == @selector(copy:))
    {
        return NO;
    }

    return [super canPerformAction:action withSender:sender];
}


- (IBAction)tapTextViewGesture:(id)sender {

  UIMenuItem *myItem1 = [[UIMenuItem alloc] initWithTitle:@"myItem1" action:@selector(myItem1Pressed:)];
  UIMenuItem *myItem2 = [[UIMenuItem alloc] initWithTitle:@"myItem2" action:@selector(myItem2Pressed:)];
  UIMenuItem *myItem3 = [[UIMenuItem alloc] initWithTitle:@"myItem3" action:@selector(myItem3Pressed:)];

    // Access the application's shared menu
    UIMenuController *menu = [UIMenuController sharedMenuController];

    [menu setMenuItems:[NSArray arrayWithObjects:myItem1,myItem2,myItem3, nil]];

    CGRect menuRect = CGRectMake(20, 50, 200, 0);


    // Show the menu from the cursor's position
    [menu setTargetRect:menuRect inView:self.view];


    [menu setMenuVisible:YES animated:YES];
}

但菜单仍然显示"复制"和"定义" UIMenuItems.如何禁用它们,只留下我的物品?



1> Adelmaer..:

最后通过子类化UITextView(为它创建自定义类)解决了它,并刚刚添加

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

    if (action == @selector(copy:))
    {
        return NO;
    }

    return NO;
}

在我的自定义TextView子类的.m文件中.

之后,"复制"不再出现,有或没有[menu update];


推荐阅读
author-avatar
wujinlin74
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有