酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Xamarin.iOSでUIAlertViewを使ってアラートを表示する

すみません。更新が長いこと空いてしまっていました。今日からまたXamarin Studioを使った開発Tipsを発信していきたいと思います。

Xamarin.iOSでアラートを表示させてみましょう。.NET Frameworkでアラート表示と言えばMessageBox.Showメソッドを使いますが、残念ながら存在していないようなのでUIAlertViewを使用して表示させます。

OKボタンのみのアラートを表示する

もっともシンプルな、タイトル、メッセージのみのアラートです。「OK」ボタンをタップすることでアラートを消します。

void ShowAlert1 (object sender, EventArgs e)
{
    var title = "title";
    var msg = "message";
    var cancelText = "OK";

    using(var alert = new UIAlertView(title, msg, null, cancelText, null))
    {
        alert.Show();
    }
}

選択肢が複数あるアラートを表示する

ユーザーに複数の選択肢を与える場合のアラートです。タイトル、メッセージ、複数のボタンを表示させたアラートです。ユーザーが選択したボタンをClickedイベントで受け取り、処理を分岐させます。

UIAlertView alert2 = null;

void ShowAlert2 (object sender, EventArgs e)
{
    var title = "title";
    var msg = "message";
    var cancelText = "Cancel";
    var buttons = new [] { "Yes", "No" };

    alert2 = new UIAlertView(title, msg, null, cancelText, buttons);
    alert2.Clicked += ClickedAlertButton;
    alert2.Show();
}

// ユーザーが選択したボタンを取得する
void ClickedAlertButton (object sender, UIButtonEventArgs e)
{
    var alert = sender as UIAlertView;

    switch (e.ButtonIndex)
    {
        case 1:
            // Yesボタンがタップされた
            break;
        case 2:
            // Noボタンがタップされた
            break;
        case 0:
        default:
            // Cancelボタンがタップされた
            break;
    }
} 

関連記事

Xamarin.iOSを使ってアプリ開発する際に逆引きとしてお使いください。