2013-11-02 101 views
1

我试图让UIMenuController显示复制&粘贴菜单,当UITextView被长时间按下。它适用于屏幕上只有一个UITextView的情况。但是,如果屏幕上有多个UITextViews,长按活动的UITextView(第一个响应者)会触发放大镜显示,当释放手指时,会显示复制&粘贴菜单,但菜单已被解除自动在不到一秒钟内。UIMenuController菜单自动消失时有多个UITextView

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

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

我使用的Xcode 4.6.3和与iOS 7.0

回答

1

测试它在iPhone 4S的我找到了解决办法。我在问题中没有足够的细节,这可能就是为什么没有答案。

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

5

显然,只要firstResponder有变化,UIMenuController就会被解雇!

为了跟踪更改的来源,如果其他,您可以听取UIMenuControllerWillHideMenuNotification并检查谁在解散菜单。

+1

你如何检查谁是解散菜单。 –