iOS - UIDatePicker
前言
NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIDatePicker : UIControl <NSCoding>
@available(iOS 2.0, *) public class UIDatePicker : UIControl, NSCoding
- UIDatePicker 是 UIKit 控件中提供日期和时间选择的控件。
1、DatePicker 的创建
Objective-C
// 不设置 frame 时为系统默认大小
UIDatePicker *datePicker = [[UIDatePicker alloc] init]; // 将 datePicker 添加到屏幕上
[self.view addSubview:datePicker];
Swift
// 不设置 frame 时为系统默认大小
let datePicker:UIDatePicker = UIDatePicker() // 将 datePicker 添加到屏幕上
self.view.addSubview(datePicker)
2、DatePicker 的设置
Objective-C
// 设置 frame
/*
不设置 frame 时为系统默认大小
*/
datePicker.frame = CGRectMake(50, 100, self.view.bounds.size.width - 100, 300); // 设置位置
datePicker.center = self.view.center; // 设置显示模式
/*
UIDatePickerModeTime, // 仅显示时间,不显示日期
UIDatePickerModeDate, // 仅显示日期,不显示时间
UIDatePickerModeDateAndTime, // 同时显示日期和时间,默认
UIDatePickerModeCountDownTimer, // 显示为倒计时状态
*/
datePicker.datePickerMode = UIDatePickerModeDateAndTime; // 设置本地化信息
/*
default is [NSLocale currentLocale]. setting nil returns to default
*/
datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; // 设置时区
/*
default is nil. use current time zone or time zone from calendar
*/
datePicker.timeZone = [NSTimeZone systemTimeZone]; // 设置日历
/*
default is [NSCalendar currentCalendar]. setting nil returns to default
*/
datePicker.calendar = [NSCalendar currentCalendar]; // 设置时间
/*
default is current date when picker created.
*/
datePicker.date = [NSDate date];
[datePicker setDate:[NSDate dateWithTimeIntervalSinceNow:60*60*26] animated:YES]; // 设置最小的时间
/*
default is nil
*/
datePicker.minimumDate = [NSDate dateWithTimeIntervalSince1970:0]; // 设置最大时间
/*
default is nil
*/
datePicker.maximumDate = [NSDate dateWithTimeIntervalSinceNow:60*60*24*7]; // 设置可以调整的最小时间间隔(分钟)
/*
interval must be evenly divided into 60. default is 1. min is 1, max is 30
*/
datePicker.minuteInterval = 2; // 设置倒计时时间值(秒)
/*
default is 0.0. limit is 23:59 (86,399 seconds)。必须为 60 的整数倍,比如设置为 100,值自动变为 60
*/
datePicker.countDownDuration = 60*60; // 添加点击触发事件
[datePicker addTarget:self action:@selector(datePickerChanged:) forControlEvents:UIControlEventValueChanged];
Swift
// 设置 frame
/*
不设置 frame 时为系统默认大小
*/
datePicker.frame = CGRectMake(50, 100, self.view.bounds.size.width - 100, 300) // 设置位置
datePicker.center = self.view.center // 设置显示模式
/*
case Time // 仅显示时间,不显示日期
case Date // 仅显示日期,不显示时间
case DateAndTime // 同时显示日期和时间,默认
case CountDownTimer // 显示为倒计时状态
*/
datePicker.datePickerMode = .DateAndTime // 设置本地化信息
/*
default is [NSLocale currentLocale]. setting nil returns to default
*/
datePicker.locale = NSLocale(localeIdentifier: "en_US") // 设置时区
/*
default is nil. use current time zone or time zone from calendar
*/
datePicker.timeZone = NSTimeZone.systemTimeZone() // 设置日历
/*
default is [NSCalendar currentCalendar]. setting nil returns to default
*/
datePicker.calendar = NSCalendar.currentCalendar() // 设置时间
/*
default is current date when picker created
*/
datePicker.date = NSDate()
datePicker.setDate(NSDate(timeIntervalSinceNow: 60*60*26), animated: true) // 设置最小的时间
/*
default is nil
*/
datePicker.minimumDate = NSDate(timeIntervalSince1970: 0) // 设置最大时间
/*
default is nil
*/
datePicker.maximumDate = NSDate(timeIntervalSinceNow: 60*60*24*7) // 设置可以调整的最小时间间隔(分钟)
/*
interval must be evenly divided into 60. default is 1. min is 1, max is 30
*/
datePicker.minuteInterval = 2 // 设置倒计时时间值(秒)
/*
default is 0.0. limit is 23:59 (86,399 seconds)。必须为 60 的整数倍,比如设置为 100,值自动变为 60
*/
datePicker.countDownDuration = 60*60 // 添加点击触发事件
datePicker.addTarget(self, action: #selector(UiDatePicker.datePickerChanged(_:)), forControlEvents: .ValueChanged)
iOS - UIDatePicker的更多相关文章
- iOS UIDatePicker frame改变问题
这种方法不行: pickerCtl = UIDatePicker(frame:pickerFrame) 但是这种却行 pickerCtl = UIDatePicker() pickerCtl!.fra ...
- iOS UIDatePicker设置为中文的方法
UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 20, 200, 30)]; datePick ...
- object-c的http post请求之 ASIFormDataRequest使用
ASIHTTPRequest类库中的ASIFormDataRequest是实现HTTP协议中的处理POST表单的很好的类库.使用起来非常简单. 在说明之前先需要了解HTTP请求的Get和Post方法. ...
- iOS学习之自定义弹出UIPickerView或UIDatePicker(动画效果)
前面iOS学习之UIPickerView控件的简单使用 用到的UIPickerView弹出来是通过 textField.inputView = selectPicker; textField.in ...
- iOS开发中UIDatePicker控件的使用方法简介
iOS上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式. 您可以选择自己需要的模式,Time, Date,Date and Time , Count Down Timer四 ...
- iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用
一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...
- iOS开发--UIDatePicker
UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样 ...
- IOS第11天(4:UIDatePicker时间选择,和键盘处理,加载xib文件,代理模式)
***控制层 #import "ViewController.h" #import "CZKeyboardToolbar.h" @interface ViewC ...
- UIDatePicker 日期/时间选取器(滚轮)—IOS开发
UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样 ...
随机推荐
- GCD 多线程同步
@property (strong, nonatomic) dispatch_queue_t barrierQueue; _barrieQueue = dispatch_queue_create(&q ...
- hdwiki中模板和标签的使用
MVC中的视图view 主要负责页面显示部分,所有的页面显示全部在此实现,视图对整个页面负责,它通过control的调用来显示页面和数据. ......视图(view)类template.class. ...
- RadioGroup+Fragment 使用Fragment的add()方法,防止使用replace每次都重新加载页面,造成资源浪费
radiogroup+fragment是很常用的主页导航控件,之前为了代码简便一直使用的replace()替换fragment,代码如下: getSupportFragmentManager().be ...
- python:用json把字典序列化到文件中
#写程序最好是dump一次和load一次,可以存好几个文件 import json info={'name':'Tom', 'age':'12', 'job':'work',} f=open('fil ...
- 分页sql
/// <summary> /// 根据页数分页 /// </summary> /// <param name="page"></para ...
- HDU(3555),数位DP
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3555 Bomb Time Limit: 2000/1000 MS (Java/Others ...
- SharePoint自动化系列——Add/Remove “Hold” from items
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 问题1: 1.如果SharePoint item被添加了hold,通过UI界面来对SharePoi ...
- spring事务之——spring配置事务的五种方式
Spring配置文件中关于事务配置总是由三个部分组成,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...
- Win32工程中使用MFCdll的解决方法
我的项目是Win32,先使用了 Standard Windows Libraries,可后期又要要使用MFC的dll,所以要更改工程属性 ,MFC 的dll可以使用了,但标准的windows的dll出 ...
- 仿word导航窗口的展开与折叠
// 标识是否是展开状态 bool isExtend = true; // 定义可以扩展的宽度 const int PanelWidth = 444; private void expandableS ...