Partager via


UIResponder.CanPerform(Selector, NSObject) Méthode

Définition

Détermine si ce UIResponder peut effectuer l’action spécifiée. Généralement utilisé pour sonder les commandes de modification.

[Foundation.Export("canPerformAction:withSender:")]
public virtual bool CanPerform (ObjCRuntime.Selector action, Foundation.NSObject withSender);
abstract member CanPerform : ObjCRuntime.Selector * Foundation.NSObject -> bool
override this.CanPerform : ObjCRuntime.Selector * Foundation.NSObject -> bool

Paramètres

action
Selector

Sélecteur qui représente l’action en cours de sondage. Pour les opérations de modification, ces sélecteurs sont « copy: », « cut: », « delete: », « paste: », « select: », « selectAll: », « toggleBoldface: », « toggleItalics: », « toggleUnderline: ».

withSender
NSObject

Objet appelant cette méthode.

Ce paramètre peut être null.

Retours

True si l’action spécifiée peut être effectuée avec l’expéditeur spécifié.

Attributs

Remarques

Cette méthode doit retourner true si l’action spécifiée par le sélecteur peut être effectuée par l’objet .

//
// Selectable label: a label that shows the "Copy" menu when the user
// long presses
//
public class SelectableLabel : UILabel {

public SelectableLabel (RectangleF rect) : base (rect)
{
UserInteractionEnabled = true;
var gesture = new UILongPressGestureRecognizer (LongPress);
AddGestureRecognizer (gesture);
}

void LongPress (UILongPressGestureRecognizer r)
{
var location = r.LocationInView (r.View);
var menu = UIMenuController.SharedMenuController;

r.View.BecomeFirstResponder ();

menu.SetTargetRect (r.View.Frame, r.View);
menu.SetMenuVisible (true, true);
}


public override bool CanBecomeFirstResponder { 
get { return true; } 
}

Selector copyAction = new Selector ("copy");

public override bool CanPerform (Selector action, NSObject withSender)
{
if (action == copyAction);
return true;
return false;
}

public override void Copy (NSObject sender)
{
UIPasteboard.General.String = this.Text;
}
}

S’applique à