花落√莫相思swift

40-Swift之UIDatePicker(日期选择器)

2017-06-29  本文已影响1622人  NetWork小贱

一、 UIDatePicker 的介绍

UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期、时间和持续时长的输入。

二 、UIDatePicker 的使用

1、初始化

/**
 初始化
 let NwDatePicker = UIDatePicker.init()
 NwDatePicker = UIDatePicker.init(frame: <#T##CGRect#>)
 NwDatePicker = UIDatePicker.init(coder: <#T##NSCoder#>)
 */
let NwDatePicker = UIDatePicker.init()

2、设置大小和轮廓

大小
/**
 设置大小
 */
NwDatePicker.frame = CGRect.init(x: 60, y: 70, width: 300, height: 160)
轮廓
/**
 设置轮廓
 */
NwDatePicker.layer.borderWidth = 1
NwDatePicker.layer.borderColor = UIColor.gray.cgColor

3、 设置日期选择器的样式

/**
 显示的日期的形式
 */
NwDatePicker.datePickerMode = .time

其中 datePickerMode 有四种选择,分别如下:

1、 time
AF1B5480-9231-4C33-B792-92BE683095DD.png
2、 countDownTimer
1D117D8F-8D67-469D-B75A-BD8556311DE9.png
3 、 date
37CF0F15-4C3A-4741-B4BE-3F3671CB5295.png
4 、dateAndTime
DC4D3BD7-1075-4F6F-B9A4-79D9E91F5655.png

4、日期本地化

/**
 日期本地化
 相关说明:1.默认值是NSLocale类的currentLocale属性返回的值,或者是是时间选择器的日历所使用的本地化值。
 2.本地化属性封装了关于语言和文化的层面,如日期的格式信息方式。
 3.如果设备的‘设置’应用程序中地区选择“中国”时,Locale.current.identifier 返回的是@“zh_CN”。
 4.在满足3的前提下,设置NwDatePicker.locale = Locale.init(identifier: "zh_CN");是多余的。         */
/**
 获取当前本地化
 */
print(Locale.current.identifier)
NwDatePicker.locale = Locale.init(identifier: "zh_CN")

5、 设置日历的属性

/**
 设置日历属性
 相关说明:
 1.此属性的默认值对应于用户的当前日历,是在‘设置’这个应用程序中去设置的。
 2.访问这个属性相当于调用 NSCalendar类的currentCalendar方法后时返回的值。
 3.设置这个属性的值为nil,相当于使用它的默认值。
 4.calendar属性指明了用于计算时间的文化细节,它指明了一年的开始和长度,一年中如何划分的方式。
 */
NwDatePicker.calendar = Calendar.current

6、 时区的设置

/**
 时区的设置
 相关说明:默认值是nil,意味着它利用的是NSTimeZone类的localTimeZone(本地时区)作为当前时区,或者是利用时间选择器的日历所使用的时区作为当前时区。
 */
NwDatePicker.timeZone = TimeZone.current

7、 日期属性的设置

/**
 日期属性
 关说明:1.该属性的默认值是UIDatePicker对象创建时的日期。
 2.该属性会在UIDatePickerModeCountDownTimer日期模式下被忽略;在该模型中,日期选择器开始于0:00。
 3.设置该属性可以让时间选择器旋转到这个设置的日期与时间,但是不会产生动画效果。
 4.如果要产生动画效果,需要使用 setDate:animated: 方法。
 */
NwDatePicker.date = Date.init(timeIntervalSinceNow: 100)

8、 设置一个时间区段

/**
 日期属性
 关说明:1.该属性的默认值是UIDatePicker对象创建时的日期。
 2.该属性会在UIDatePickerModeCountDownTimer日期模式下被忽略;在该模型中,日期选择器开始于0:00。
 3.设置该属性可以让时间选择器旋转到这个设置的日期与时间,但是不会产生动画效果。
 4.如果要产生动画效果,需要使用 setDate:animated: 方法。
 */
NwDatePicker.date = Date.init(timeIntervalSinceNow: 100)

9 、倒计时

/**
 倒计时属性
 相关说明:1.该属性设置倒计时需要倒计的秒数。
 2.如果时间选择器的时间模式不是倒计时模式,则该属性会被忽略。
 3.默认值是0.0,最大值为23:59(86399秒)。
 */
NwDatePicker.countDownDuration  = 86399

10 、 时间的间隔设置

/**
 时间间隔属性
 相关说明:1.使用该属性设置由分钟车轮显示的时间间隔。
 2.间隔值必须均匀地分隔60,如果没有这样做,该属性将使用默认值为1。
 3.该属性值的范围是大于等于1,并小于等于30         */
NwDatePicker.minuteInterval = 2

11、 监控其值的变化

/**
 监控其值的变化
 */
NwDatePicker.addTarget(self, action: #selector(chooseDate( _:)), for:UIControlEvents.valueChanged)

获取选择的时间

/**
 获取选择的时间
 */
func chooseDate(_ datePicker:UIDatePicker) {
    let  chooseDate = datePicker.date
    let  dateFormater = DateFormatter.init()
    dateFormater.dateFormat = "YYYY-MM-dd HH-mm-ss"
    print(dateFormater.string(from: chooseDate))
}
上一篇下一篇

猜你喜欢

热点阅读