「Xamarin.iOSでダイアログを表示する」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
imported>Administrator
3行目: 3行目:
 
iOS8以降ではUIAlertControllerを使えとのこと。
 
iOS8以降ではUIAlertControllerを使えとのこと。
 
<source lang="csharp">
 
<source lang="csharp">
var alert = UIAlertController.Create("title", "message", UIAlertControllerStyle.Alert);
+
    var alert = UIAlertController.Create("title", "message", UIAlertControllerStyle.Alert);
  
alert.AddAction(UIAlertAction.Create("NO", UIAlertActionStyle.Cancel , (handler) => {
+
    alert.AddAction(UIAlertAction.Create("NO", UIAlertActionStyle.Cancel , (handler) => {
    Console.WriteLine("NO");
+
        Console.WriteLine("NO");
}));
+
    }));
  
alert.AddAction(UIAlertAction.Create("YES", UIAlertActionStyle.Default, (handler) => {
+
    alert.AddAction(UIAlertAction.Create("YES", UIAlertActionStyle.Default, (handler) => {
    Console.WriteLine("YES: " + alert.TextFields[0].Text);
+
        Console.WriteLine("YES: " + alert.TextFields[0].Text);
}));
+
    }));
  
alert.AddTextField((textfield) => {
+
    alert.AddTextField((textfield) => {
    textfield.Placeholder = "textfield";
+
        textfield.Placeholder = "textfield";
  
    //
+
        //
    var label = new UILabel(new CGRect(0, 0, 80, 30));
+
        var label = new UILabel(new CGRect(0, 0, 80, 30));
    label.Text = "LABEL: ";
+
        label.Text = "LABEL: ";
  
    textfield.LeftView = label;
+
        textfield.LeftView = label;
    textfield.LeftViewMode = UITextFieldViewMode.Always;
+
        textfield.LeftViewMode = UITextFieldViewMode.Always;
});
+
    });
  
this.PresentViewController(alert, animated: true, completionHandler: null);
+
    this.PresentViewController(alert, animated: true, completionHandler: null);
 
</source>
 
</source>
  

2015年11月24日 (火) 07:21時点における版

iOS 8以降

iOS8以降ではUIAlertControllerを使えとのこと。

    var alert = UIAlertController.Create("title", "message", UIAlertControllerStyle.Alert);

    alert.AddAction(UIAlertAction.Create("NO", UIAlertActionStyle.Cancel , (handler) => {
        Console.WriteLine("NO");
    }));

    alert.AddAction(UIAlertAction.Create("YES", UIAlertActionStyle.Default, (handler) => {
        Console.WriteLine("YES: " + alert.TextFields[0].Text);
    }));

    alert.AddTextField((textfield) => {
        textfield.Placeholder = "textfield";

        //
        var label = new UILabel(new CGRect(0, 0, 80, 30));
        label.Text = "LABEL: ";

        textfield.LeftView = label;
        textfield.LeftViewMode = UITextFieldViewMode.Always;
    });

    this.PresentViewController(alert, animated: true, completionHandler: null);

ボタンのフォントを以下の3つの中から選ぶことができる。

  • UIAlertActionStyle.Default:標準
  • UIAlertActionStyle.Cancel:Bold表示
  • UIAlertActionStyle.Destructive:文字色が赤色

関連項目

参考文献