【问题标题】:UITextView remove UILongPressGestureRecognizerUITextView 移除 UILongPressGestureRecognizer
【发布时间】:2013-11-26 01:35:06
【问题描述】:

我有一个设置了所有 dataDetectionTypes 的 UITextView。我想删除 UILongPressGestureRecognizer,因为长按后出现在电话号码文本或日历事件文本上的操作表未正确显示。它没有显示取消按钮,因此我需要删除 UILongPressGestureRecognizer。有人有想法吗?

你知道为什么我的 actionSheet 没有显示取消按钮吗?请帮忙! 此问题在 iOS 5 和 6 以及 3.5 英寸或以下显示屏的设备上重现

【问题讨论】:

标签: ios iphone objective-c ios5 ios6


【解决方案1】:

我只是要扩展上面 cmets 中所说的内容。为了有效地做到这一点,您将要创建 UITextView 类的子类。这样做将允许您实现 UIResponder 的 canPerformAction: 函数,这将允许您有选择地决定您希望在弹出窗口中可用的选项。您可以修改下面的代码以允许任何您想要的剪切/复制/粘贴/选择...的组合,或者如果您想同时阻止弹出窗口,只需从此函数返回NO而不调用其超级实现.

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

请确保这是在子类中完成的!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 2013-09-11
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多