0

我已经实现了很多方法,但粘贴并没有隐藏。我正在使用 Xcode 版本 4.5.2

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

    }
    return NO;  
}

每种方法似乎都对我不起作用。有人可以帮我吗?提前致谢

4

2 回答 2

0

您可以试试这个:在控制器的viewDidLoad方法中,将其设置为不可见。

[[UIMenuController sharedMenuController] setMenuVisible:NO];

如果这不起作用,我猜你不走运,因为它是系统的一部分。我看到的唯一方法是禁用用户与可能触发上下文菜单的对象的交互。

于 2013-05-09T14:05:51.593 回答
0

您需要执行这些操作来启用/禁用 UIMenuController 项目。

  1. 要显示/隐藏 UIMenuController 项,您的视图或视图控制器需要实现canBecomeFirstResponder(为显示/隐藏返回 YES/NO)。

  2. 您还可以实现canPerformAction:withSender:UIResponder 的方法来根据上下文禁用或启用用户界面命令{复制、选择、全选、粘贴等}。

  3. 或者您可以覆盖 的Update方法UIMenuController来处理单个项目的自定义行为。例如,如果粘贴板不包含兼容类型的数据,则该Paste命令将被禁用。因此,您可以通过覆盖此方法来强制显示/隐藏粘贴菜单项。

于 2013-05-09T14:27:39.840 回答