3
Я пытаюсь подделать действие нажатия кнопки, запрограммировав ее в моей функции ViewWillAppear().Xamarin iOS UIButton Как нажать кнопку программно?
Функция onclick определена в моем представлении ViewDidLoad(), и вы можете видеть, что я пытаюсь использовать селектор выходов для ручного вызова кнопки.
Эта кнопка не работает. Есть идеи?
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(), что кнопка будет нажата только при первом загрузке представления? Как насчет того, когда кто-то захочет вернуться к этому представлению, чтобы снова использовать его? –
Используйте то же самое в ViewWillAppear, но прежде всего проверьте, не является ли кнопка не нулевой, если это не означает, что пользователь вернулся к этому представлению. –
Я пробовал использовать его из других методов и он работает. Не нужно его вызывать из ViewDidLoad, но его нужно вызывать из основного потока –