【问题标题】:Hide copy option from UiMenucontroller从 UiMenucontroller 隐藏复制选项
【发布时间】:2014-03-12 00:34:21
【问题描述】:

我想从UIMenuViewcontroller中删除复制和定义选项

我在谷歌上查了一下,得到了我必须在我的班级中覆盖下面的方法并做同样的事情

UIWebView的子类中添加下面

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender{
 NSLog(@"action=========%@",NSStringFromSelector(action));
     if(action == @selector(copy:)
        return NO;

    }

但是我没有得到名为 copy: 的 ant 选项,而是得到了所有其他选项,比如 cut:、paste:、select: 等,但是 copy: 选项没有出现,所以我无法隐藏复制选项,直到我得到上面的复制选项方法

请告诉我我必须做什么,为什么没有复制选项

我得到以下动作没有复制动作

2014-02-13  action=========cut:

2014-02-13  action=========select:

2014-02-13  action=========selectAll:

2014-02-13  action=========paste:

2014-02-13  action=========delete:

2014-02-13  action=========_promptForReplace:

2014-02-13  action=========_showTextStyleOptions:

2014-02-13  action=========_addShortcut:

2014-02-13  action=========_accessibilitySpeak:

2014-02-13  action=========_accessibilitySpeakLanguageSelection:

2014-02-13  action=========_accessibilityPauseSpeaking:

2014-02-13  action=========makeTextWritingDirectionRightToLeft:

2014-02-13  action=========makeTextWritingDirectionLeftToRight:

【问题讨论】:

  • “不来”是什么意思?您的代码看起来不错(copy: 是正确的方法,请参阅 here),除了选择器需要小写 s 并且您必须为其他操作返回 YES。
  • 放断点,检查这个委托方法是否被调用?
  • @jrturton 当我打印动作然后得到所有剪切,粘贴,选择但复制动作不存在
  • @jrturton 我可以隐藏所有其他但不存在复制操作
  • @jrturton 请查看我更新的问题

标签: ios cocoa-touch uiwebview


【解决方案1】:

将调用 [super canPerformAction:action withSender:sender] 添加到您的实现中

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

【讨论】:

  • 我认为您还需要覆盖 UIViewController 中包含 UIWebViewcanPerformAction
猜你喜欢
  • 2018-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多