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


    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10202406.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示如何在表单行内嵌拾取器。

    在项目导航区,打开视图控制器的代码文件【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.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
  • 相关阅读:
    Mac基本操作记录
    flutter vscode+第三方安卓模拟器
    git一些基本操作
    获取点击元素的绝对位置
    windows下提交前检测操作
    VGG网络学习
    MySQL数据库中文乱码
    配深度学习环境中的小tips(tensorflow+anaconda+keras+cuda)
    Docker安装指定的anaconda
    yolov1阅读
  • 原文地址:https://www.cnblogs.com/strengthen/p/10202406.html
Copyright © 2020-2023  润新知