【问题标题】:Hiding copy/paste/return panel in iOS 9 (Shortcuts panel)在 iOS 9 中隐藏复制/粘贴/返回面板(快捷方式面板)
【发布时间】:2015-10-30 20:38:36
【问题描述】:

我正在 iOS 9 Beta 上测试我的应用程序。 Apple 添加了一个具有复制/粘贴/返回功能的新面板。

我知道我可以在设备的常规设置中禁用它。

我可以使用通知在代码中检测到它吗?我可以告诉我的 textFields 和 textViews 在编辑时不显示吗?

如果我关闭预测视图,面板将显示。

我在 xCode 7 beta 4 中没有找到它。如果您知道如何解决此问题,请也告诉我 :)

【问题讨论】:

    标签: ios objective-c xcode ipad ios9


    【解决方案1】:

    试试这个

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

    希望对你有帮助。

    【讨论】:

    • 感谢您的回答,但它不适用于我的情况:(
    【解决方案2】:

    我已经解决了这个问题。我找到了以编程方式隐藏此快捷方式栏的方法:

    if ([textView respondsToSelector:@selector(inputAssistantItem)])
    {
        UITextInputAssistantItem *inputAssistantItem = [textView inputAssistantItem];
        inputAssistantItem.leadingBarButtonGroups = @[];
        inputAssistantItem.trailingBarButtonGroups = @[];
    }
    

    如果需要,您还可以检测 iOS 版本。 重要的是要知道 UITextInputAssistantItem 类是 iOS 9 的新类。

    if ([[[UIDevice currentDevice] systemVersion] intValue] > 8.99)
    {
        // Your super-code
    }
    

    希望这将是有用的信息!

    【讨论】:

    • 在 iOS 9 发布版本被删除后,我没有找到任何解决此问题的方法。我认为现在隐藏快捷方式栏是最好的解决方案。
    • 有没有办法在整个应用程序的全局级别上执行此操作,因此不必在每个文本字段上都执行...?
    • @CommaToast 嗨。目前我没有找到任何其他解决方案来解决这个问题。我认为现在最好的方法是创建一个 TextFieldDecoratorClass 来添加这个选项。
    猜你喜欢
    • 1970-01-01
    • 2017-01-17
    • 2015-05-20
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多