[ライブラリ] Eurekaの導入と利用〜その6 様々な行を追加する2

はじめに

前回はActionSheet行やAlert行を作成しました。今回は以下について見ていきます。

過去記事は以下を参照してください。

環境

Xcode:9.2
Swift:4.0.3

DateInlineRow

DateInlineRowを使用すると、行内で日付を選択して入力することが可能です。また日付が変更された場合は、OnChangeイベントが発生するので、valueプロパティで変更後の値を取得することができます。

以下にコード例を示します。

form
    +++ Section("セクション")
    <<< DateInlineRow("") {
        $0.title = "日付を選択"
        }.onChange() { row in
            // 選択された日を表示
            print(row.value!)
    }

DateTimelineRow

DateTimeInlineRowを使用すると、行内で日付と時間を選択して入力することが可能です。また日時が変更された場合は、OnChangeイベントが発生するので、valueプロパティで変更後の値を取得することができます。

 form
    +++ Section("セクション")
    <<< DateTimeInlineRow("") {
        $0.title = "日時を選択"
        //$0.value = date
        }.onChange() { row in
            // 選択された日時を表示
            print(row.value!)
        }

TimeInlineRow

TimeInlineRowを使用すると、行内で時間を選択して入力することが可能です。また時間が変更された場合は、OnChangeイベントが発生するので、valueプロパティで変更後の値を取得することができます。

form
    +++ Section("セクション")
    <<< TimeInlineRow("") {
        $0.title = "時刻を選択"
        //$0.value = date
        }.onChange() { row in
            // 選択された時刻を表示
            print(row.value!)
        }

任意の日付を選択状態にするには?

DateInlineRow, DateTimeInlineRow, TimeInlineRowのいずれも初期値は現在日時です。任意の日時を選択したい場合は、DateFormatterで日付を作成し、$0.value = date のように作成した日付を設定してあげます。

以下にコード例を示します。

let formatter = DateFormatter()
let now = "2017/8/12"
formatter.dateFormat = "yyyy/MM/dd"
formatter.locale = Locale(identifier: "ja_JP")
let date = formatter.date(from: now)

form
    +++ Section("セクション")
    <<< DateTimeInlineRow("") {
        $0.title = "日時を選択"
        $0.value = date
        }.onChange() { row in
            // 選択された日時を表示
            print(row.value!)
        }

DateRow

DateInlineRowは、行内で選択することができましたが、DateRowの場合は下からPickerがニュルッと出てきます。使用方法はDateInlineRowと同じです。

form
    +++ Section("セクション")
    <<< DateRow("") {
        $0.title = "日付を選択"
        }.onChange() { row in
            // 現在のチェック状態を表示
            print(row.value!)
    }

DateTimeRow

DateTimeInlineRowは、行内で選択することができましたが、DateTimeRowの場合は下からPickerがニュルッと出てきます。使用方法はDateTimeInlineRowと同じです。

form
    +++ Section("セクション")
    <<< DateTimeRow("") {
        $0.title = "日時を選択"
        //$0.value = date
        }.onChange() { row in
            // 選択された日時を表示
            print(row.value!)
        }

TimeRow

TimeInlineRowは、行内で選択することができましたが、TimeRowの場合は下からPickerがニュルッと出てきます。使用方法はTimeInlineRowと同じです。

form
    +++ Section("セクション")
    <<< TimeRow("") {
        $0.title = "時刻を選択"
        //$0.value = date
        }.onChange() { row in
            // 選択された時刻を表示
            print(row.value!)
        }

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください