一、UIDatePicker && UIPickerView
UIDatePicker(日期选择器)只有这四种模式:
typedef NS_ENUM(NSInteger, UIDatePickerMode) {
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, // Displays hour and minute (e.g. 1 | 53)
}
https://www.jianshu.com/p/9251364b3c93
https://www.cnblogs.com/wohaoxue/p/4819902.html
- Locale
设置DatePicker的地区,即设置DatePicker显示的语言。
// 1.跟踪所有可用的地区,取出想要的地区
NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);
// 2. 设置日期选择控件的地区
[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
效果:
// 2) 设置日期选择控件的地区
[datePicker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en_SC"]];
效果:
2. Calendar
设置DatePicker的日历。
默认为当天。
[datePicker setCalendar:[NSCalendar currentCalendar]];
3. timeZone
设置DatePicker的时区。
默认为设置为:
[datePicker setTimeZone:[NSTimeZone defaultTimeZone]];
4. date
设置DatePicker的日期。默认设置为:
[datePicker setDate:[NSDate date]];
5. minimumDate
设置DatePicker的允许的最小日期。
6.maximumDate
设置DatePicker的允许的最大日期。
7.countDownDuration
设置DatePicker的倒计时间.
// 1) 设置日期选择的模
[self.datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];
// 2) 设置倒计时的时长
// 注意:设置倒计时时长需要在确定模式之后指定
// 倒计时的时长,以秒为单位
[self.datePicker setCountDownDuration:10 * 60];
效果:
8.minuteInterval
你可以将分钟表盘设置为以不同的时间间隔来显示分钟,前提是该间隔要能够让60整除。默认间隔是一分钟。如果要使用不同的间隔,需要改变 minuteInterval属性:
// 设置分钟间隔
datePicker.minuteInterval = 15;is
9.datePickerMode
9.1 UIDatePickerModeTime, // Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)
显示小时,分钟和AM/PM,这个的名称是根据本地设置的
[datePicker setDatePickerMode:UIDatePickerModeTime];
效果图:
9.2 UIDatePickerModeDate, // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)
显示年月日,名称根据本地设置的
[datePicker setDatePickerMode:UIDatePickerModeDate];
效果图:
9.3 默认是显示这种模式
UIDatePickerModeDateAndTime, // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)
显示日期,小时,分钟,和AM/PM,名称是根据本地设置的
[datePicker setDatePickerMode:UIDatePickerModeDateAndTime];
效果图:
9.4 UIDatePickerModeCountDownTimer // Displays hour and minute (e.g. 1 | 53)
显示小时和分钟
[datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];
UIDatePicker使用教程一。
10.1初始化
// 不用设置宽高,因为它的宽高是固定的
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
10.2常用设置
// 设置区域为中国简体中文
datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
// 设置picker的显示模式:只显示日期
datePicker.datePickerMode = UIDatePickerModeDate;
10.3UIDatePicker需要监听值的改变
[datePicker addTarget:self
action:@selector(dateChange:)
forControlEvents:UIControlEventValueChanged];
11.UIDatePicker使用教程二。
11.1日期范围
你可以通过设置mininumDate 和 maxinumDate 属性,来指定使用的日期范围。如果用户试图滚动到超出这一范围的日期,表盘会回滚到最近的有效日期。两个方法都需要NSDate 对象作参数:
NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];
NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];
datePicker.minimumDate = minDate;
datePicker.maximumDate = maxDate;
11.2 如果两个日期范围属性中任何一个未被设置,则默认行为将会允许用户选择过去或未来的任意日期。这在某些情况下很有用处,比如,当选择生日时,可以是过去的任意日期,但终止与当前日期。如果你希望设置默认显示的日期,可以使用date属性:
datePicker.date = minDate;
11.3 此外,你还可以用 setDate 方法。如果选择了使用动画,则表盘会滚动到你指定的日期:
[datePicker setDate:maxDate animated:YES];
UIPickerView
数据选择控件
https://www.jianshu.com/p/247da5cebee0
https://www.cnblogs.com/li-wei203/p/10803039.html
https://www.jianshu.com/p/81cd9978c97c
二 、UIPageControl
UIPageControl类提供一行点来指示当前显示的是多页面视图的哪一页。
UIPageControl控件在和UIScrollView配合来显示大量数据时,会使用它来控制UIScrollView的翻页。在滚动ScrollView时可通过PageControll中的小白点来观察当前页面的位置,也可通过点击PageContrll中的小白点来滚动到指定的页面。
1.numberOfPages // 设置有多少页 默认为0
// 2) 设置页数
[pageControl setNumberOfPages:kImageCount];
currentPage // 设置当前页
[pageControl setCurrentPage:0];
pageIndicatorTintColor // 设置页码指示器颜色
[pageControl setPageIndicatorTintColor:[UIColor blackColor]];
currentPageIndicatorTintColor // 设置当前页码指示器颜色
[pageControl setCurrentPageIndicatorTintColor:[UIColor redColor]];
添加分页控件的监听事件(监听值改变事件)
[pageControl addTarget:self
action:@selector(pageChanged:)
forControlEvents:UIControlEventValueChanged];
https://www.jianshu.com/p/eefb76a21ede
https://blog.csdn.net/kkwant/article/details/81501254
三、UIActivityIndicatorView
活动指示器,作用是指示网络数据获取的状态或者App处理某件事的状态。为了消除用户的急躁心里。UIActivityIndicatorView 是继承与 UIView。UIView有的方法UIActivityIndicatorView 也可以使用。
https://www.jianshu.com/p/cc5a1f14e89b
activityIndicatorViewStyle
设置指示器的样式
UIActivityIndicatorViewStyleWhiteLarge
UIActivityIndicatorViewStyleWhite (默认样式)
UIActivityIndicatorViewStyleGray
2.hidesWhenStopped
当停止动画的时候,是否隐藏。默认为YES。
3. 实例化指示器对象,根据样式设置尺寸,不需要手动设置。
-(id)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style;
4.开启动画
- (void)startAnimating;
5.关闭动画
- (void)stopAnimating;
6.是否在动画
- (BOOL)isAnimating;
7. UIActivityIndicatorView使用注意
7.1初始化的时候不需要设置尺寸,设置尺寸也没有效果。
7.2 必须调用startAnimating才会显示UIActivityIndicatorView
// 初始化指示器
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
// 设置指示器位置
indicator.center = CGPointMake(self.view.frame.size.width * 0.5, self.view.frame.size.height * 0.5);
// 开启动画,必须调用,否则无法显示
[indicator startAnimating];
[self.view addSubview:indicator];