如何在UIviewController子类中禁用UIMenuControll(剪切,复制,粘贴,全选,删除)? [英] how to disable UIMenuControll (cut,copy,paste,select all,delete) in UIviewController subclass?

查看:224
本文介绍了如何在UIviewController子类中禁用UIMenuControll(剪切,复制,粘贴,全选,删除)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经实现了很多方法但是粘贴不会隐藏。我正在使用Xcode版本4.5.2

i have implemented many methods but paste doesn't hide. i am using Xcode Version 4.5.2

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

    }
    return NO;  
}

每种方法似乎都失败了。任何人都可以帮助我吗?提前谢谢

every method is seems to fail working for me. can anybody help me on this? thanks in advance

推荐答案

你需要做这些事情来启用/禁用UIMenuController项目。

You need to do these things to enable/disable UIMenuController items.


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

  1. To show/hide the UIMenuController items, your view or view controller needs to implement canBecomeFirstResponder(returning YES/NO for Show/Hide).

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

You can also implement the canPerformAction:withSender: method of UIResponder to disable or enable user-interface commands {copy, select, select all, paste and etc} based on the context.

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

Or you can override the Update method of UIMenuController to handle the custom behavior of an individual item. For example, if the pasteboard holds no data of a compatible type, the Paste command would be disabled. So you may either force to show/hide the paste menu item by overriding this method.

这篇关于如何在UIviewController子类中禁用UIMenuControll(剪切,复制,粘贴,全选,删除)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆