はじめに
前回はActionSheet行やAlert行を作成しました。今回は以下について見ていきます。
過去記事は以下を参照してください。
- [ライブラリ] Eurekaの導入と利用〜その1(ライブラリのインストール)
- [ライブラリ] Eurekaの導入と利用〜その2(設定画面の下準備)
- [ライブラリ] Eurekaの導入と利用〜その3 入力欄を作成する
- [ライブラリ] Eurekaの導入と利用〜その4 行の値を取得する
- [ライブラリ] Eurekaの導入と利用〜その5 様々な行を追加する1
環境
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!)
}




コメント