2016-12-16 15 views
0

エントリのコピーアンドペーストを無効にしようとしています。Xamarin IOS CanPerformActionが動作しません。

私はCanPerformアクションをEntryRendererから継承します。

public class NEntryRenderer : EntryRenderer 
{ 
    public override bool CanPerform(Selector action, NSObject withSender) 
    { 
     if (action == new Selector("paste:") || action == new Selector("copy:")) 
      return false; 

     return base.CanPerform(action, withSender); 
    } 

    protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
    { 
     base.OnElementChanged(e); 
    } 
} 

答えて

2

あなたはUITextFieldに表示され編集メニューを非表示にする必要があります。

public class NEntryRenderer : EntryRenderer 
{ 
    public override bool CanPerform(Selector action, NSObject withSender) 
    { 
     NSOperationQueue.MainQueue.AddOperation(() => 
     { 
      UIMenuController.SharedMenuController.SetMenuVisible(false, false); 
     }); 
     return base.CanPerform(action, withSender); 
    } 
} 

シングルトンUIMenuControllerインスタンスを切り取り、コピー、貼り付け、選択のためのメニューインタフェースを提示し、すべてを選択し、コマンドを削除します。

参考:https://developer.apple.com/reference/uikit/uimenucontroller