[Swift通天遁地]2、表格表單-(16)在表單行內嵌入日期和時間拾取器

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-vmelvlum-ko.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftgit

本文將演示如何在表單行內嵌拾取器。github

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】swift

如今開始編寫代碼,實如今表單行內嵌入日期和時間拾取器。數組

  1 import UIKit
  2 //首先在當前類文件中,
  3 //引入以及安裝的第三方類庫
  4 import Eureka
  5 
  6 //修改當前視圖控制器類的父類的名稱
  7 class ViewController: FormViewController {
  8     
  9     override func viewDidLoad() {
 10         super.viewDidLoad()
 11         
 12         //設置內行隱藏屬性,容許在表單內同時顯示多個拾取器
 13         //form.inlineRowHideOptions = InlineRowHideOptions.FirstResponderChanges
 14 
 15         //設置在表單中,同時只容許顯示一個拾取器。
 16         //將嵌入行的隱藏選項,調整爲一次只顯示單個的拾取器。
 17         form.inlineRowHideOptions = InlineRowHideOptions.AnotherInlineRowIsShown
 18 
 19         //往表單中添加一個新的段落
 20         form
 21             +++ Section()
 22             //添加一個日期嵌入行
 23             <<< DateInlineRow()
 24             {
 25                 //設置本行的標題文字
 26                 $0.title = "DateInlineRow"
 27                 //設置本行的默認值
 28                 $0.value = Date()
 29             }
 30             //添加一個時間嵌入行
 31             <<< TimeInlineRow()
 32             {
 33                 //設置本行的標題文字
 34                 $0.title = "TimeInlineRow"
 35                 //設置本行的默認值
 36                 $0.value = Date()
 37             }
 38             //添加一個日期和時間嵌入行
 39             <<< DateTimeInlineRow()
 40             {
 41                 //設置本行的標題文字
 42                 $0.title = "DateTimeInlineRow"
 43                 //設置本行的默認值
 44                 $0.value = Date()
 45             }
 46             //添加一個計時嵌入行
 47             <<< CountDownInlineRow()
 48             {
 49                 //設置本行的標題文字
 50                 $0.title = "CountDownInlineRow"
 51                 
 52                 //初始化一個日期組件對象
 53                 var dateComp = DateComponents()
 54                 //設置日期組件對象的小時
 55                 dateComp.hour = 18
 56                 //設置日期組件對象的分鐘
 57                 dateComp.minute = 33
 58                 //設置日期組件對象的時區
 59                 dateComp.timeZone = TimeZone.current
 60                 
 61                 //設置當前表單行的默認值
 62                 $0.value = Calendar.current.date(from: dateComp)
 63             }
 64             
 65             //添加一個新的段落,並設置其標題文字
 66             +++ Section("Generic inline picker")
 67             //添加一個拾取器嵌入行
 68             <<< PickerInlineRow<Date>("PickerInlineRow")
 69             {
 70                 (row : PickerInlineRow<Date>) -> Void in
 71                 //設置該行的標題和標記的值相同
 72                 row.title = row.tag
 73                 //設置該行顯示的值的內容
 74                 row.displayValueFor =
 75                 {
 76                     (rowValue: Date?) in
 77                     //返回日期的年份做爲該行的顯示內容
 78                     return rowValue.map { "Year \(Calendar.current.component(.year, from: $0))" }
 79                 }
 80                 
 81                 //初始化當前行的選項
 82                 row.options = []
 83                 //並得到當天的日期
 84                 var date = Date()
 85                 //經過一個循環語句
 86                 for _ in 1...10
 87                 {
 88                     //將從此10年的日期,添加到選項數組中。
 89                     row.options.append(date)
 90                     date = date.addingTimeInterval(60*60*24*365)
 91                 }
 92                 
 93                 //設置當前行的默認值爲數組中的第一個元素
 94                 row.value = row.options[0]
 95         }
 96     }
 97 
 98     override func didReceiveMemoryWarning() {
 99         super.didReceiveMemoryWarning()
100         // Dispose of any resources that can be recreated.
101     }
102 }

注意上文中修改的代碼,設置在表單中,同時只容許顯示一個拾取器。微信

1 //設置內行隱藏屬性,容許在表單內同時顯示多個拾取器
2 form.inlineRowHideOptions = InlineRowHideOptions.FirstResponderChanges
3 
4 //設置在表單中,同時只容許顯示一個拾取器。
5 //將嵌入行的隱藏選項,調整爲一次只顯示單個的拾取器。
6 form.inlineRowHideOptions = InlineRowHideOptions.AnotherInlineRowIsShown
相關文章
相關標籤/搜索