1、UIPickerView 选择指示器控件
//选择器的初始化
UIPickerView * pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 50, self.view.bounds.size.width, 300)];
pickerView.dataSource = self; 数据源
pickerView.delegate = self;代理
//iOS7h后没有效果(是否显示指示器)
pickerView.showsSelectionIndicator = NO;
//返回选中的row数
NSInteger selectedRow = [pickerView selectedRowInComponent:0];
//刷新数据
[pickerView reloadAllComponents]
//选择行数(选择第0组第三行)
[pickerView selectRow:3 inComponent:0 animated:YES];
}
2、UIPickerViewDataSource数据源方法
//一个pickerView有多少个组件(列)
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 2;
}
//一个组件有多少排
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return self.dataList.count;
}
//每排显示的题目
- (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return self.dataList[row];
}
//选中多少行
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
NSLog(@"您选中了第%@行",@(row));
}
3、UIPickerViewDelegate代理方法
//组件的宽度
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
if (component == 0) {
return 250;
}
return 50;
}
4、UIDatePicker
//默认显示当前时间
UIDatePicker * datePicker = [[UIDatePicker alloc] init];
//获取所有时区
NSLog(@"%@",[NSLocale availableLocaleIdentifiers]);
//设置时区
datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_CN"];
//datePicker样式选择
datePicker.datePickerMode = UIDatePickerModeDateAndTime;
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate * date = [formatter dateFromString:@"2015-02-03 09:21:22"];
datePicker.date = date;
//设置最小时间
datePicker.minimumDate = [date dateByAddingTimeInterval: - 24 * 60 * 60];
//设置最大时间
datePicker.maximumDate = [date dateByAddingTimeInterval: 24 * 60 * 60];
//设置时间间隔
datePicker.minuteInterval = 30;