UIResponder.CanPerform(Selector, NSObject) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 UIResponder가 지정된 작업을 수행할 수 있는지 여부를 결정합니다. 일반적으로 명령을 편집하기 위해 검색하는 데 사용됩니다.
[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
검색 중인 작업을 나타내는 선택기입니다. 편집 작업의 경우 이러한 선택기는 "copy:", "cut:", "delete:", "paste:", "select:", "selectAll:", "toggleBoldface:", "toggleItalics:", "toggleUnderline:"입니다.
반환
True이면 지정된 보낸 사람과 함께 지정된 작업을 수행할 수 있습니다.
- 특성
설명
선택기에서 지정한 작업을 개체에서 수행할 수 있는 경우 이 메서드는 true를 반환해야 합니다.
//
// 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;
}
}