【问题标题】:UIMenuController menu disappears automatically when there are multiple UITextView有多个 UITextView 时 UIMenuController 菜单自动消失
【发布时间】:2013-11-02 15:25:25
【问题描述】:

我正在尝试让 UIMenuController 在 UITextView 长按时显示复制和粘贴菜单。如果屏幕上只有一个 UITextView,它就可以工作。但是,如果屏幕上有多个 UITextView,长按活动的 UITextView(一个是 firstResponder)会触发放大镜显示,当手指松开时,会显示复制粘贴菜单,但菜单会自动关闭不到一秒。

以下是视图层次结构:
UIView -> UIImageView -> MyUIView -> UITextView
|__> MyUIView -> UITextView

我将非活动 UITextViews 的 userInteractionEnabled 和可编辑设置为 NO。关于如何保留复制和粘贴菜单的任何想法?

我正在使用 Xcode 4.6.3 并在装有 iOS 7.0 的 iPhone 4S 上对其进行测试

【问题讨论】:

    标签: ios iphone uitextview uimenucontroller


    【解决方案1】:

    显然,只要 firstResponder 发生变化,UIMenuController 就会被解除!

    为了跟踪更改的来源,如果有其他原因,您可以收听 UIMenuControllerWillHideMenuNotification 并检查谁在关闭菜单。

    【讨论】:

    • 如何检查谁在关闭菜单。
    【解决方案2】:

    我找到了解决方案。我的问题没有足够的细节,这可能是没有答案的原因。

    关键的缺失部分是我继承了 UITextView 并且它覆盖了 layoutSubviews(参见 buggy margin behavior with dynamically resizing UITextView)。解决方案是简单地删除 layoutSubviews 功能,我使用 krafter 的建议来解决 UITextView 中断问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多