Como o iOS não tem alertas síncronos, normalmente para receber a entrada do usuário, você tinha que anexar o manipulador ao evento “Clicado”. Mas, como Xamarin trouxe magia assíncrona para o dinossauro iOS, podemos fazer isso:
public Task<int> ShowCookCourseAlert()
{
var tcs = new TaskCompletionSource<int>();
UIApplication.SharedApplication.InvokeOnMainThread(new NSAction(() => {
UIAlertView alert = new UIAlertView("title", "message", null, "Cancel","OK" );
alert.Clicked += (sender, buttonArgs) => tcs.SetResult(buttonArgs.ButtonIndex);
alert.Show();
}));
return tcs.Task;
}
E então use este método como este:
int choice = await ShowCookCourseAlert();
Debug.WriteLine(choice);