[Swift通天遁地]二、表格表单-(14)实时调整表单元素的激活和失效

本文将演示如何激活或使表单的区域失效。

在项目导航区,打开视图控制器的代码文件【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 }

原文地址:https://www.cnblogs.com/strengthen/p/10202306.html

时间: 2024-10-08 04:14:04

[Swift通天遁地]二、表格表单-(14)实时调整表单元素的激活和失效的相关文章

[Swift通天遁地]二、表格表单-(7)电子邮件Mail:实现单元格左右滑动调出功能按钮

本文将演示对单元格进行扩展,当手指在单元格左右滑动时,弹出不同的功能菜单. Github项目:[MGSwipeTableCell] 下载该项目的源代码.文件夹[demo]->文件夹[MailAppDemoSwift]->文件夹[MailAppDemoSwift] ->双击文件[MailAppDemoSwift.xcodeproj]打开示例工程. 选择该项目中的几个文件,拖动到自己的开发项目中.按住[Shift],选择 [MGSwipeButton.h] [MGSwipeButton.m]

[Swift通天遁地]二、表格表单-(3)在表格中嵌套另一个表格并使Cell的高度自适应

本文将演示如何在表格中嵌套另一个表格并使Cell的高度自适应,创建更加强大的布局效果. 在项目文件夹[DemoApp]上点击鼠标右键,弹出右键菜单. [New File]->[Cocoa Touch Class]->[Next]-> [Class]:CustomizeUITableViewCell ,类名. [Subclass of]:UITableViewCell ,父类 [Language]:Swift ->[Next]->[Create]在项目导航区,打开刚刚创建的代码

[Swift通天遁地]二、表格表单-(8)快速实现表单的输入验证

本文将演示如何快速实现表单是输入验证. 首先确保在项目中已经安装了所需的第三方库. 点击[Podfile],查看安装配置文件. 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'SwiftValidator', :git => 'https://github.com/jpotts18/SwiftVali

[Swift通天遁地]二、表格表单-(10)快速添加日期选择/多选/动作表单/地图等自定义表单

本文将演示创建一个更加强大的表单. Github项目:[Eureka] 下载该项目的源代码. 选择该项目中的几个文件,拖动到自己的开发项目中.按住[Shift],选择 文件夹[Example]->选择 一个自定义的单元格的类文件[CustomCells.swift] 文件夹[Helpers] 文件夹[CustomRows] ->保持默认的设置选项,点击[Finish] 选择资源文件夹[Assets.xcassets],导入项目中需要使用的图片. 在项目导航区,打开视图控制器的代码文件[View

[Swift通天遁地]二、表格表单-(16)在表单行内嵌入日期和时间拾取器

本文将演示如何在表单行内嵌拾取器. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 现在开始编写代码,实现在表单行内嵌入日期和时间拾取器. 1 import UIKit 2 //首先在当前类文件中, 3 //引入以及安装的第三方类库 4 import Eureka 5 6 //修改当前视图控制器类的父类的名称 7 class ViewController: FormViewController { 8 9 override func viewDidLoad()

[Swift通天遁地]二、表格表单-(15)自定义表单文本框内容的格式

本文将演示如何设置表单中的输入内容的格式. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 现在开始编写代码,实现设置表单中的输入内容的格式. 1 import UIKit 2 //首先在当前类文件中, 3 //引入以及安装的第三方类库 4 import Eureka 5 6 //创建一个货币类,该类继承自数学格式类,并遵循格式化协议. 7 class CurrencyFormatter : NumberFormatter, FormatterProtocol

[Swift通天遁地]九、拔剑吧-(14)创建更美观的景深视差滚动效果

景深视差经常被应用在游戏项目中. 本文将演示创建更美观的景深视差滚动效果. 首先确保已经安装了所需的第三方类库.双击查看安装配置文件[Podfile] 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'Presentation' 7 end 根据配置文件中的相关设置,安装第三方类库. 安装完成之后,双击

[Swift通天遁地]四、网络和线程-(13)创建一个Socket客户端

请点击Socket服务端文章:[Swift通天遁地]四.网络和线程-(14)创建一个Socket服务端 本文将演示Socket(套接字)客户端的使用. 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 在Github中下载项目:[SwiftSocket] 在[Source]文件夹,按下[Shift]选择多个文件. [yudpsocket.c] [ytcpsocket.c] [UDPClient.swift] [TCPClient.swift] [Swif

[Swift通天遁地]一、超级工具-(5)使用UIWebView(网页视图)加载本地页面并调用JavaScript(脚本)代码

本文将演示如何使用UIWebView(网页视图)读取项目中的网页文件,以及执行JavaScript脚本代码. 在项目文件夹[DemoApp]上点击鼠标右键,弹出右键菜单. [New File]->[Blank]空白模板->[next] ->[Save As]:Register.html->[Create] 在Register.html中输入网页代码: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta h