UIPickView的简单使用
时间:2022-04-26
本文章向大家介绍UIPickView的简单使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
好记性不如烂笔头,勤做笔记。
摘要:
1.UIPickVIew 几个重要的属性
(1)datePickerMode
UIDatePickerModeTime, // Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)
UIDatePickerModeDate, // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)
UIDatePickerModeDateAndTime, // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
UIDatePickerModeCountDownTimer
UIDatePickerModeTime:显示时分 还有上午下午 12小时制
UIDatePickerModeDate:显示年月日 12小时制
UIDatePickerModeDateAndTime:显示年月日时分 12小时制
UIDatePickerModeCountDownTimer:显示时分,24小时制根据自己的需求选择相应的datePickerMode属性。
@property (nullable, nonatomic, strong) NSDate *minimumDate; // specify min/max date range. default is nil. When min > max, the values are ignored. Ignored in countdown timer mode
@property (nullable, nonatomic, strong) NSDate *maximumDate;
最大最小时间。限制了最大最小时间之后,此控件就可以自己会滚到设定的时间,不会在日期之前停留。
2.UIPickVIew 几个重要的方法
设置一个监听,用来监听pickVie的值的变化
[startPicker addTarget:self action:@selector(startPick:) forControlEvents:UIControlEventValueChanged];
3.使用汇总遇到的问题
选的时间存在8小时的时差解决方案
//获得的时间与本地的时间差8个小时
NSDate *date=sender.date;
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
formatter.dateFormat=@"yy-MM-dd HH:mm:ss";
//经过时间的格式化会变成本地时间
NSString *timeStr=[formatter stringFromDate:date];
NSLog(@"date-----%@",date);
NSLog(@"timeStr-------%@",timeStr);
这样就可以解决了。
下边附上我写的demo的主要代码:
//
// ViewController.m
// demoUIDatePicker
//
// Created by taoli on 2017/7/20.
// Copyright © 2017年 XM. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
{
UIDatePicker *startPicker;
UIDatePicker *endPicker;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
startPicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 100, [UIScreen mainScreen].bounds.size.width, 300)];
startPicker.datePickerMode = UIDatePickerModeDateAndTime;
NSDate *minDate = [[NSDate alloc]initWithTimeIntervalSinceNow:0];
startPicker.minimumDate = minDate;
startPicker.backgroundColor = [UIColor yellowColor];
[startPicker addTarget:self action:@selector(startPick:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:startPicker];
endPicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 400, [UIScreen mainScreen].bounds.size.width, 300)];
endPicker.datePickerMode = UIDatePickerModeTime;
endPicker.minimumDate =startPicker.date;
endPicker.backgroundColor = [UIColor yellowColor];
[self.view addSubview:endPicker];
}
-(void)startPick:(UIDatePicker*)sender{
//获得的时间与本地的时间差8个小时
NSDate *date=sender.date;
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
formatter.dateFormat=@"yy-MM-dd HH:mm:ss";
//经过时间的格式化会变成本地时间
NSString *timeStr=[formatter stringFromDate:date];
NSLog(@"date-----%@",date);
NSLog(@"timeStr-------%@",timeStr);
// NSTimeZone *timeZone=[NSTimeZone systemTimeZone];
// NSInteger seconds=[timeZone secondsFromGMTForDate:date];
// NSDate *newDate=[date dateByAddingTimeInterval:seconds];
// NSString *newTimeStr=[formatter stringFromDate:newDate];
// NSLog(@"newDate----%@",newDate);
// NSLog(@"newTimeStr-------%@",newTimeStr);
// NSLog(@"%@",sender.date);
endPicker.minimumDate = sender.date;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
如发现问题,欢迎不吝赐教。
邮箱673658917@qq.com
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 干货 | 性能提升400%,ClickHouse在携程酒店数仓的实践
- 干货 | 携程如何基于ARIMA时序分析做业务量的预测
- Python爬取王者荣耀全套皮肤
- 怎么搭建直播平台,合理使用验证码工具类
- 再见了SpringMVC,这个框架有点厉害,甚至干掉了Servlet!
- 可以旋转的3D韦恩图你见过吗?
- BFE.dev前端刷题 104. 按层遍历DOM树
- nodejs,mongodb不同时区问题
- AkShare-中国宏观-全社会客货运输量
- AkShare-中国宏观-邮电业务基本情况
- AkShare-中国宏观-国际旅游外汇收入构成
- AkShare-中国宏观-民航客座率及载运率
- AkShare-中国宏观-航贸运价指数
- 您应该知道的11个JavaScript和TypeScript速记
- AkShare-中国宏观-央行货币当局资产负债