其实UIPickerView和UITableview的实现方法中,大致是相同的,就连作用都是一样的,只是运用在了不同的效果上而已,那么下面就记录几个方法就可以实现UIPickerView的效果:
1、设置UIPickerView的列
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
2、设置UIPickerView 的行
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
3、设置UIPickerView的行高
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;
4、设置UIPickerView的文本信息
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
5、UIPickerView的点击事件
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
通过以上的5个步骤,就能实现一个滚动的效果。但是呢,这里有一个问题,就是不能像UITableView中的Cell方法一样去设置[MoreCell.textLabel setFont:[UIFont systemFontOfSize:15.0f]];的样式或者字体大小,那么这里就涉及到了UIPickerView中的另外一个实现方法:
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ UILabel *lalTitle=(UILabel *)view; if (!lalTitle) { lalTitle=[[UILabel alloc] init]; lalTitle.minimumScaleFactor=8;//设置最小字体,与minimumFontSize相同,minimumFontSize在IOS 6后不能使用。 lalTitle.adjustsFontSizeToFitWidth=YES;//设置字体大小是否适应lalbel宽度 lalTitle.textAlignment=NSTextAlignmentCenter;//文字居中显示 [lalTitle setTextColor:[UIColor blackColor]]; [lalTitle setFont:[UIFont systemFontOfSize:17.0f]]; } lalTitle.text=[self pickerView:pickerView titleForRow:row forComponent:component]; return lalTitle; }
到此,UIPickerView的简单实用就实现了!!!!
时间: 2024-10-09 14:07:17