★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-ohlevann-kn.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 TextRow.defaultCellUpdate = 14 { 15 cell, row in 16 //設置文本行的字體大小爲12 17 cell.textLabel?.font = UIFont.italicSystemFont(ofSize: 12) 18 } 19 20 //往表單中添加一個段落,並設置段落的標題文字 21 form = Section("What do you want to talk about:") 22 //往段落中添加一個分段行 23 <<< SegmentedRow<String>("segments") 24 { 25 //設置該行的選項 26 $0.options = ["Sport", "Music", "Films"] 27 //設置該行的默認值 28 $0.value = "Films" 29 } 30 //添加另外一個段落 31 +++ Section() 32 { 33 //設置該段落的標識 34 $0.tag = "sport_s" 35 //設置該段落的顯示屬性。 36 //並設置當分段的值不等於運動時,將隱藏段落 37 $0.hidden = "$segments != 'Sport'" 38 } 39 //在段落中添加一個文本行 40 <<< TextRow() 41 { 42 //設置該行的標題文字 43 $0.title = "Which is your favourite soccer player?" 44 } 45 //在段落中添加一個文本行 46 <<< TextRow() 47 { 48 //設置該行的標題文字 49 $0.title = "Which is your favourite coach?" 50 } 51 //在段落中添加一個文本行 52 <<< TextRow() 53 { 54 /設置該行的標題文字 55 $0.title = "Which is your favourite team?" 56 } 57 58 //添加另外一個段落 59 +++ Section() 60 { 61 //設置段落的標記的值 62 $0.tag = "music_s" 63 //設置該段落的顯示屬性。 64 //並設置當分段的值不等於音樂時,將隱藏段落 65 $0.hidden = "$segments != 'Music'" 66 } 67 //在段落中添加一個文本行 68 <<< TextRow() 69 { 70 //設置該行的標題文字 71 $0.title = "Which music style do you like most?" 72 } 73 //在段落中添加一個文本行 74 <<< TextRow() 75 { 76 //設置該行的標題文字 77 $0.title = "Which is your favourite singer?" 78 } 79 //在段落中添加一個文本行 80 <<< TextRow() 81 { 82 //設置該行的標題文字 83 $0.title = "How many CDs have you got?" 84 } 85 86 //添加一個新段落 87 +++ Section() 88 { 89 //設置段落的標記的值 90 $0.tag = "films_s" 91 //設置該段落的顯示屬性。 92 //並設置當分段的值不等於電影時,將隱藏段落 93 $0.hidden = "$segments != 'Films'" 94 } 95 //在段落中添加一個文本行 96 <<< TextRow() 97 { 98 //設置該行的標題文字 99 $0.title = "Which is your favourite actor?" 100 } 101 //在段落中添加一個文本行 102 <<< TextRow() 103 { 104 //設置該行的標題文字 105 $0.title = "Which is your favourite film?" 106 } 107 108 //添加一個新段落 109 +++ Section() 110 //往段落中添加一個Switch表單行 111 <<< SwitchRow("Show Next Row") 112 { 113 //設置該行的標題文字 114 $0.title = $0.tag 115 } 116 //往段落中添加一個Switch表單行 117 <<< SwitchRow("Show Next Section") 118 { 119 //設置該行的標題文字 120 $0.title = $0.tag 121 //給Switch表單行,添加一個交互事件。 122 //當上一行的開關控件處於顯示狀態時,則顯示當前的表單行。 123 $0.hidden = .function(["Show Next Row"], { form -> Bool in 124 let row: RowOf<Bool>! = form.rowBy(tag: "Show Next Row") 125 return row.value ?? false == false 126 }) 127 } 128 129 //添加一個新段落,並設置段落的尾部內容 130 +++ Section(footer: "This section is shown only when 'Show Next Row' switch is enabled") 131 { 132 //給段落,添加一個交互事件。 133 //當上一個段落中的第二個開關處於激活狀態時,顯示當前的段落,不然隱藏當前的段落。 134 $0.hidden = .function(["Show Next Section"], { form -> Bool in 135 let row: RowOf<Bool>! = form.rowBy(tag: "Show Next Section") 136 return row.value ?? false == false 137 }) 138 } 139 //在段落中添加一個文本行 140 <<< TextRow() 141 { 142 //設置該行的標題文字 143 $0.placeholder = "Gonna dissapear soon!!" 144 } 145 } 146 147 override func didReceiveMemoryWarning() { 148 super.didReceiveMemoryWarning() 149 // Dispose of any resources that can be recreated. 150 } 151 }