2013-11-02 62 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

你如何檢查誰是解散菜單。 –