zoukankan      html  css  js  c++  java
  • UIPikerView的属性

     1 1.numberOfComponents:返回UIPickerView当前的列数
     2 NSInteger num = _pickerView.numberOfComponents;
     3 NSLog( @"%d", num);
     4 2. - (NSInteger)numberOfRowsInComponent:(NSInteger)component; 返回component列中有多少行。
     5 NSInteger numInCp = [_pickerView numberOfRowsInComponent:0];
     6 NSLog(@"%d",numInCp);
     7 3. -  (CGSize)rowSizeForComponent:(NSInteger)component; 返回component中一行的尺寸。
     8 
     9 CGSize size = [_pickerView rowSizeForComponent:0];
    10 NSLog(@"%@", NSStringFromCGSize(size));
    11 
    12 
    13 delegate14 2.0 设置UIPickerView代理
    15 _pickerView.delegate = self;
    16 // 设置UIPickView每行显示的内容
    17 2.1 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
    18 {
    19     return @"showData";
    20 }
    21 
    22 
    23 - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
    24 
    25 // 返回一个视图,用来设置pickerView的每行显示的内容。
    26 -(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
    27 {
    28     UIView *myView=[[UIView alloc]init];
    29     myView.backgroundColor = [UIColor redColor];
    30     return myView;
    31 }
    32 效果:
    33 
    34 dataSource:数据源
    35 #pragma mark  - dataSource method
    36 // 设置每列显示3行
    37 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
    38 {
    39     return 3;
    40 }
    41 // 设置显示2列
    42 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
    43 {
    44     return 2; 
    45 }
    46 4. showsSelectionIndicator:是否显示指示器,默认为NO  
    47 _pickerView.showsSelectionIndicator = NO;
    48 
    49 注意:设置UIPickerView的行数与列数需要设置数据源,遵守UIPickerViewDataSource,设置UIPickerView的内容需要设置代理,并且遵守代理方法UIPickerViewDelegate。
    50 
    51 
    52 5.-(void)pickerView:(UIPickerView*)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
    53 当点击UIPickerView的某一列中某一行的时候,就会调用这个方法。
    54 6. 返回第component列每一行的高度
    55 - (CGFloat)pickerView:(UIPickerView *)pickerView 
    56 rowHeightForComponent:(NSInteger)component;
    57 
    58 7.刷新某一列的数据
    59 一旦调用了这个方法,就会重新给数据源发送消息计算这列的行数、重新给代理发送消息获得这列的内容
    60 [pickerView reloadComponent:1];
    61 8. 刷新所有列的数据 
    62 - (void)reloadAllComponents;
    63 9. 返回选中的是第component列的第几行。
    64 - (NSInteger)selectedRowInComponent:(NSInteger)component;                                   
  • 相关阅读:
    [CF846E]Chemistry in Berland题解
    [CF846D]Monitor题解
    [CF846B]Math Show题解
    [CF846A]Curriculum Vitae题解
    斜率优化 学习笔记
    【CF115E】Linear Kingdom Races 题解(线段树优化DP)
    【洛谷P3802】小魔女帕琪 题解(概率期望)
    7月13日考试 题解(DFS序+期望+线段树优化建图)
    【BZOJ1426】收集邮票 题解 (期望)
    【HNOI2010】弹飞绵羊 题解(分块)
  • 原文地址:https://www.cnblogs.com/developer-wang/p/4520385.html
Copyright © 2011-2022 走看看