iOS UIPickerView的简单实用

版权所有,禁止匿名转载;禁止商业使用。

其实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的简单实用就实现了!!!!


0 0