Xamarin iOS UIButton如何以编程方式单击按钮?
问题描述:
我试图通过在我的ViewWillAppear()函数内以编程方式调用它来伪造单击按钮的行为。Xamarin iOS UIButton如何以编程方式单击按钮?
onclick函数是在我的ViewDidLoad()中定义的,你可以看到我正在尝试使用Perform Selector来手动调用按钮。
该按钮似乎没有运行。有任何想法吗?
public override void ViewDidLoad()
{
base.ViewDidLoad();
idButtonScanLoad.TouchUpInside += async (sender, ea) =>
{
System.Console.WriteLine("Scan button pressed");
};
}
[Export("TouchUpInsideEvent:")]
private void TouchUpInsideEvent(NSObject sender)
{
Console.WriteLine("yay!");
}
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
this.PerformSelector(new ObjCRuntime.Selector("TouchUpInsideEvent:"), this as NSObject, 10f);
}
答
这是答案,你应该从你的ViewDidLoad方法调用它。
myButton.SendActionForControlEvents (UIControlEvent.TouchUpInside);
但是不会将它添加到ViewDidLoad()意味着按钮只会在第一次加载视图时被点击?什么时候有人想回到那个视图再次使用它? –
在ViewWillAppear中使用相同,但首先检查按钮是否为空,如果不是这意味着用户返回到该视图。 –
我试图从其他方法使用它也工作..没必要它必须从ViewDidLoad调用,但它必须从主线程调用 –