2.3UIPickerView

本文详细介绍了如何在iOS应用中使用UIPickerView组件,包括声明和初始化、绑定数据源、设置代理方法以显示数据及获取选择结果等步骤,并提供了添加阴影效果的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIPickerView
1.在h文件里声明
@property(nonatomic,strong) UIPickerView *myPicker;
2.在m文件里
@synthesize myPicker
3.在viewDidLoad方法中添加picker
-(void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.myPicker = [[UIPickerView alloc]init];
self.myPicker.center = self.view.center;
[self.viewaddSubView:self.myPicker];
}//这个时候只是一片空白,是因为我们还没有添加数据,

4.绑定数据,数据必须是UIPickerView的一个实例,而且必须实现UIPickerViewDataSource协议
-(void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.myPicker = [[UIPickerView alloc]init];
self.muPicker.dataSource = self;//让controller实现datasource协议
self.myPicker.center = self.view.center;
[self.viewaddSubView:self.myPicker];
}
//UIPickerViewDataSource协议
@protocol UIPickerViewDataSource<NSObject>
@required
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*) pickerView;//添加组件
-(NSInteger)pickerView:(UIPickerView*)pickerView numberOfRowsInComponent:(NSInteger)component;//一个组件有多少个选项
@end

4.在m文件中实现那两个方法

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*) pickerView{
NSInteger result = 0;
if([pickerView isEqual:self.myPicker]){
result = 1;
}
return result;
}
-(NSInteger)pickerView:(UIPickerView*)pickerView numberOfRowsInComponent:(NSInteger)component{
NSInteger result = 0;
if([pickerView isEqual:self.myPicker]){
result = 10;
}
return result;
}


5.如果要得到每个选项标示符是什么东西,而且应该怎么显示出来,就需要知道UIPickerViewDelegate协议里面的方法了
//UIPickerViewDelegate里只有一个方法,pickerView:titleForRow:forComponent:
-(NSString *)pickerView:(UIPickerView)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
NSString *result = nil;
if([pickerView isEqual:self.myPicker]){
result = .....

}
return result;

}

6.加上一个水平的阴影效果
self.myPicker.showSelectionIndicator = YES;


7.得到结果selectedRowInComponent:
重置选择器里面的值reloadComponent:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值