うさがにっき

読書感想文とプログラムのこと書いてきます

iOSでアクションシート、ダイアログを表示する

概要

UIAlertControllerを使ってダイアログを表示する

詳細

アクションシート

スタイルにUIAlertControllerStyle.ActionSheetを指定する

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

例えばこんな感じ

        var alertConroller = UIAlertController(
            title: "title",
            message: "message",
            preferredStyle: UIAlertControllerStyle.ActionSheet
        )
        // action1
        alertConroller.addAction(UIAlertAction(
            title: "action1",
            style: .Default,
            handler: {action in self.myaction()}))

        // action2
        alertConroller.addAction(UIAlertAction(
            title: "action2",
            style: .Default,
            handler: {action in self.myaction()}))

        // 削除
        alertConroller.addAction(UIAlertAction(
            title: "delete",
            style: UIAlertActionStyle.Destructive,
            handler: {action in self.myDelete()}))
        
        // cancel
        alertConroller.addAction(UIAlertAction(
            title: "cancel",
            style: UIAlertActionStyle.Cancel,
            handler: {action in self.myCancel()}))
        
        presentViewController(alertConroller, animated: true, completion: nil)

こんな感じに表示される
f:id:tiro105:20150318081132p:plain

ダイアログ

スタイルにUIAlertControllerStyle.ActionSheetを指定する

        var alertConroller = UIAlertController(
            title: "title",
            message: "message",
            preferredStyle: UIAlertControllerStyle.Alert
        )

例えばこんな感じ

    @IBAction func tapBtn(sender: AnyObject) {
        // ActionSheetを作る
        var alertConroller = UIAlertController(
            title: "title",
            message: "message",
            preferredStyle: UIAlertControllerStyle.Alert
        )

        // OK
        alertConroller.addAction(UIAlertAction(title: "OK",
            style: UIAlertActionStyle.Default,
            handler: {action in self.myOk() } ))

        // CANCEL
        alertConroller.addAction(UIAlertAction(title: "cancel",
            style: UIAlertActionStyle.Cancel,
            handler: {action in self.myCancel() } ))

        presentViewController(alertConroller, animated: true, completion: nil)
    }

f:id:tiro105:20150318081913p:plain

参考

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】

Swiftではじめる iPhoneアプリ開発の教科書 【iOS 8&Xcode 6対応】