[Swift通天遁地]二、表格表单-(14)实时调整表单元素的激活和失效
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10202306.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
本文将演示如何激活或使表单的区域失效。
在项目导航区,打开视图控制器的代码文件【ViewController.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 = Section() 14 //在段落中添加一个分段行 15 <<< SegmentedRow<String>("segments") 16 { 17 //设置该行的选项 18 $0.options = ["Enabled", "Disabled"] 19 //设置该行的默认值 20 $0.value = "Disabled" 21 } 22 //在段落中添加一个文本行 23 <<< TextRow() 24 { 25 //设置该行的标题文字 26 $0.title = "choose enabled, disable above..." 27 //并设置它的失效属性,当分段的值为失效时,该文本行也将失效。 28 $0.disabled = "$segments = 'Disabled'" 29 } 30 //在段落中添加一个Switch行 31 <<< SwitchRow("Disable Next Section?") 32 { 33 //设置该行的标题文字 34 $0.title = $0.tag 35 //并设置它的失效属性,当分段的值为失效时,该Switch行也将失效。 36 $0.disabled = "$segments = 'Disabled'" 37 } 38 //添加一个新的段落 39 +++ Section() 40 //在段落中添加一个文本行 41 <<< TextRow() 42 { 43 //设置该行的标题文字 44 $0.title = "Gonna be disabled soon.." 45 //并设置它的失效状态, 46 //根据上一个段落中的开关行的状态,来决定本行的失效状态。 47 $0.disabled = Eureka.Condition.function(["Disable Next Section?"], { (form) -> Bool in 48 let row: SwitchRow! = form.rowBy(tag: "Disable Next Section?") 49 return row.value ?? false 50 }) 51 } 52 53 //添加一个新的段落 54 +++ Section() 55 //在段落中添加一个分段行 56 <<< SegmentedRow<String>() 57 { 58 //设置该行的选项 59 $0.options = ["Always Disabled"] 60 //并设置它的失效状态 61 $0.disabled = true 62 } 63 } 64 65 override func didReceiveMemoryWarning() { 66 super.didReceiveMemoryWarning() 67 // Dispose of any resources that can be recreated. 68 } 69 }