iOS
 Computer >> コンピューター >  >> プログラミング >> iOS

SwiftでiOSアプリにカスタムダイアログを作成する方法をわかりやすく解説

Swiftでダイアログボックスを作成する基本

iOSアプリでユーザーへの通知や確認を表示したいとき、活躍するのがUIKitの重要なコンポーネントであるUIAlertControllerです。本記事では、実際のiOSアプリとサンプルプロジェクトを使いながら、カスタムダイアログの作成方法をステップごとに解説します。

まずは空のプロジェクトを作成し、デフォルトのビューコントローラ内で以下の操作を行っていきましょう。

1. UIAlertControllerオブジェクトを作成する

最初に、タイトル・メッセージ・スタイルを指定してアラートのインスタンスを生成します。

let alert = UIAlertController.init(title: title, message: description, preferredStyle: .alert)

preferredStyleには.alertのほかに.actionSheetも指定でき、用途に応じて表示形式を選択できます。

2. アクションを作成する

次に、ダイアログ上に表示するボタン(アクション)を定義します。ここでは「Ok」ボタンを作成し、タップされたときの処理をクロージャ内に記述します。

let okAction = UIAlertAction.init(title: "Ok", style: .default) { _ in
    print("You tapped ok")
    // ここにカスタム処理を記述
}

スタイルには.default以外にも、キャンセル操作用の.cancelや、破壊的な操作を表す赤文字の.destructiveなどがあります。

3. アラートにアクションを追加して表示する

作成したアクションをアラートに登録し、画面に表示します。

alert.addAction(okAction)
self.present(alert, animated: true, completion: nil)

関数化して再利用しやすくする

毎回同じコードを書くのは非効率なので、上記の処理をひとつの関数にまとめましょう。タイトルと説明文を引数として渡せるようにすると、さまざまな場面で使い回せます。

func createAlert(withTitle title: String, andDescription description: String) {
    let alert = UIAlertController.init(title: title, message: description, preferredStyle: .alert)
    let okAction = UIAlertAction.init(title: "Ok", style: .default) {
        _ in print("You tapped ok")
        // ここにカスタム処理を記述
    }
    alert.addAction(okAction)
    self.present(alert, animated: true, completion: nil)
}

実際に呼び出して動作を確認する

次に、viewWillLayoutSubviewsメソッド内でこの関数を呼び出します。

override func viewWillLayoutSubviews() {
    self.createAlert(withTitle: "This is an alert", andDescription: "Enter your description here.")
}

実機やシミュレータでアプリを実行すると、以下のようなダイアログが表示されます。

SwiftでiOSアプリにカスタムダイアログを作成する方法をわかりやすく解説

まとめ

UIAlertControllerを使えば、数行のコードでiOSアプリに標準的なダイアログを実装できます。関数として切り出しておけば再利用性が高まり、複数の画面でも簡単に呼び出せるようになります。さらに、UIAlertActionを複数追加すれば「はい/いいえ」のような選択肢を持つダイアログにも拡張できるので、ぜひ試してみてください。

  1. Androidアプリでカスタムアラートダイアログを作成する方法をステップ別に解説

    はじめに この記事では、Androidアプリでカスタムアラートダイアログを作成する方法を、実際のコード例とともにステップ形式で解説します。標準のAlertDialogとは異なり、独自のレイアウトやデザインを自由に組み込んだダイアログを実装したい方に最適な内容です。 手順1:新規プロジェクトを作成する Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成してください。 手順2:activity_main.xmlにコードを追加する res/layout/activity_main.xml に以下

  2. CSSを使ってカスタムカーソルを作成する方法を解説

    CSSでは、独自のカーソル画像を作成してWebページ上の要素に適用することができます。対応する画像形式は、.cur(Internet Explorer向け)、.gifや.png(Chrome・Firefox・Safariなどモダンブラウザ向け)です。適用にはCSSの cursor プロパティを使用し、値として url() でカーソル画像へのパスを指定します。その際、フォールバックとして auto や default、pointer といった一般的なカーソル値も併せて指定しておくのがポイントです。 基本的な書き方 カスタムカーソルは以下のような構文で定義します。 セレクタ { curso