★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(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