22

UIAlert に別のキャンセル ボタンを追加したいと考えています。

私はUIActionSheetでそれを行う方法を知っていますが、UIAlertでも可能であるはずですよね?

var sheet: UIActionSheet = UIActionSheet();
    let title: String = "...";
    sheet.title  = title;
    sheet.delegate = self;
    sheet.addButtonWithTitle("Cancel");
    sheet.addButtonWithTitle("...")
    sheet.cancelButtonIndex = 0;
    sheet.showInView(self.view);

これには、分離された [...] ボタンと [キャンセル] ボタンがあります。

誰でもこれを行う方法を知っていますか

    var alert = UIAlertController(title: "...", message: "....", preferredStyle: UIAlertControllerStyle.ActionSheet)

?

私はxcodeとswiftが初めてなので、この質問がばかげている場合は申し訳ありません...

4

3 に答える 3

58

とてもシンプルですが、以前の動作とは少し異なります。次に、アラートに「アクション」を追加します。これらのアクションは、デバイス上のボタンで表されます。

alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))

上記は単純なキャンセル ボタンに必要なコードです。アラートの破棄は自動的に行われるため、ハンドラーに配置しないでください。その後、何かを行う別のボタンを作成する必要がある場合は、次のコードを使用します。

alert.addAction(UIAlertAction(title: "Button", style: UIAlertActionStyle.Default, handler: { action in
        println("This button now calls anything inside here!")
    }))

うまくいけば、私はあなたの質問を理解し、これはあなたが求めていたものに答えます. また、すべての「アクション」を追加した後、以下のコードを使用してアラートを表示することも追加します。

self.presentViewController(alert, animated: true, completion: nil)

お役に立てれば!

于 2014-11-16T11:48:51.187 に答える