今天学习了使用UIPickerView和UIDatePicker。
我们接着之前的项目,将下载视图控制器改为自定义的视图控制器。新建一个类DownLoadViewController下载视图控制器继承UIViewController。在loadView方法中创建PickerView。
UIPickerView *pickView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, 0, 0)];
pickView.dataSource = self;
pickView.delegate = self;
pickView.showsSelectionIndicator = YES;
[self.view addSubview:pickView];
我创建了两个数组,用于在PickerView里面显示。
num =[NSMutableArray arrayWithArray: @[@"一只",@"二只",@"三只",@"四只",@"五只",@"六只",@"七只",@"八只",@"九只",@"十只"]];
animal = [NSMutableArray arrayWithArray:@[@"鸡",@"鸭",@"鹅",@"鱼",@"鸟"]];
要在PickerView里显示数据,得实现UIPickerViewDataSource、UIPickerViewDelegate这两个协议,实现里面的方法。
// 返回有多少列
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
// 返回每列有多少行
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component==0) {
return [num count];
}
else
return [animal count];
}
//设置标题
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component==0) {
return num[row];
}
else
return animal[row];
}
最后在应用程序的代理类中创建DownLoadViewController。
//下载视图控制器
DownLoadViewController *downLoad = [[DownLoadViewController alloc] init];
UITabBarItem *tabBarItem3 = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:3];
downLoad.tabBarItem = tabBarItem3;
运行程序,点击“下载”选项。
运行结果截图:
UIDatePicker比UIPickerView使用简单很多,如下。
//日期
UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,50,0,0)];
//设置模式
datePicker.datePickerMode = UIDatePickerModeTime;
//设置初始时间为当前时间
datePicker.date = [NSDate date];
[self.view addSubview:datePicker];
运行结果截图: