2013-05-09 80 views
0

我已經實現了很多方法,但粘貼並不隱藏。我正在使用Xcode版本4.5.2如何在UIviewController子類中禁用UIMenuControll(剪切,複製,粘貼,全選,刪除)?

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender { 
    UIMenuController *menuController = [UIMenuController sharedMenuController]; 
    if (menuController) { 
     [UIMenuController sharedMenuController].menuVisible = NO; 

    } 
    return NO; 
} 

每種方法似乎都無法正常工作。有人可以幫助我嗎?在此先感謝

+0

嘗試繼承你的網點 - 檢查我的UITextFields http://stackoverflow.com/a/14582785/1702413 – TonyMkenu 2013-05-10 21:41:32

+0

感謝名單了很多時髦的例子,它真的不錯:)對不起,我不知道如何Ø給你的答案大拇指,我沒有必須明星或聲譽做到這一點。歡呼隊友 – iAhmed 2013-05-13 11:06:35

回答

0

您需要執行這些操作來啓用/禁用UIMenuController項目。

  1. 要顯示/隱藏UIMenuController項目,您的視圖或視圖控制器需要實現canBecomeFirstResponder(返回YES/NO的顯示/隱藏)。

  2. 您還可以實現UIResponder的canPerformAction:withSender:方法,以根據上下文禁用或啓用用戶界面命令{複製,選擇,全選,粘貼等}。

  3. 或者您可以覆蓋Update方法UIMenuController來處理單個項目的自定義行爲。例如,如果粘貼板不包含兼容類型的數據,則Paste命令將被禁用。因此,您可以強制顯示/隱藏粘貼菜單項,方法是重寫此方法。

+0

thanx隊友.. :) <3因爲我不能給你讚揚,因爲名譽:) – iAhmed 2013-05-13 11:08:07

0

您可以試試這個:在您的控制器的viewDidLoad方法中,將其設置爲不可見。

[[UIMenuController sharedMenuController] setMenuVisible:NO]; 

如果不工作,我想你的運氣了,因爲它是系統的一部分。我看到的唯一方法是禁用與可能觸發上下文菜單的對象的用戶交互

+0

不,它不工作 – iAhmed 2013-05-09 14:20:58

相關問題