zoukankan      html  css  js  c++  java
  • iOS

    前言

    	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)
      
  • 相关阅读:
    CODING x 百果园 _ 水果零售龙头迈出 DevOps 体系建设第一步
    Nocalhost 亮相 CD Foundation 国内首届 Meetup,Keith Chan 将出席致辞
    做云原生时代标准化工具,实现高效云上研发工作流
    打造数字化软件工厂 —— 一站式 DevOps 平台全景解读
    WePack —— 助力企业渐进式 DevOps 转型
    CODING Compass —— 打造行云流水般的软件工厂
    Nocalhost —— 让云原生开发回归原始而又简单
    CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全
    Nocalhost:云原生开发新体验
    使用 Nocalhost 开发 Kubernetes 中的 APISIX Ingress Controller
  • 原文地址:https://www.cnblogs.com/QianChia/p/5755252.html
Copyright © 2011-2022 走看看