介绍UIPickView和UIDatePicker
1.UIPickView什么时候用?
- 通常在注册模块,当用户需要选择一些东西的时候,比如说城市,往往弹出一个PickerView给他们选择。
- 老虎机效果
2.UIPickView常见用法
- 独立的,没有任何关系 => 菜单系统。
- 相关联的,下一列和第一列有联系=> 省会城市选择
- 图文并帽, => 国旗选择。
3.UIPickView
4.UIDatePicker什么时候用?
- 当用户选择日期的时候,一般弹出一个UIDatePicker给用户选择。
5.UIDatePicker iOS6和iOS7的区别
UIPickView与UIDatePicker使用
UIPickView效果图
plist文件
实现过程
- 1.1:设置_pickerView的数据源及代理为控制器
- 1.2:控制器遵守数据源,代理协议
- 1.3:实现数据源方法
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return self.foods.count;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
NSArray *arr = self.foods[component];
return arr.count;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSArray *arr = self.foods[component];
return arr[row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSLog(@"%ld %ld",component, row);
NSString *title = self.foods[component][row];
_labelView.text = title;
}
// 返回第component列有多宽
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
// 返回第component列有高度
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;
// NSAttributedString:属性字符串(给文本添加一些属性),富文本,丰富文本,可以设置文字的颜色,字体,阴影,空心,图文混排
- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component NS_AVAILABLE_IOS(6_0); // attributed title is favored if both methods are implemented
// 返回第component列第row行视图
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow: