UIResponder.CanPerform(Selector, NSObject) Method
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Determines if this UIResponder can perform the specified action. Typically used to probe for editing commands.
[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
- action
- Selector
The selector that represents the action that is being probed. For editing operations, these selectors are "copy:", "cut:", "delete:", "paste:", "select:", "selectAll:", "toggleBoldface:", "toggleItalics:", "toggleUnderline:".
True if the specified action can be performed with the specified sender.
- Attributes
This method should return true if the action specified by the selector can be performed by the object.
//
// 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;
}
}
Product | Versions |
---|---|
Xamarin iOS SDK | 12 |