• iOS编程之UIPickerView


    初始化


    _pickerView = [[UIPickerViewalloc]init];
    _pickerView.center =self.view.center;
    [self.viewaddSubview:_pickerView];



    添加数据


      

     <UIPickerViewDataSource>
    
    _pickerView.dataSource =self;
    
    //返回pickerView要显示的组件的条目
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
    {
         NSInteger result =0;
         if ([pickerViewisEqual:_pickerView]) {
             result = 1;//Figure-2.1
     //      result = 2;//Figure-2.2
         }
         return result;
    }
    
    //返回每个组件的数据条目
    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
    {
       NSInteger result =0;
       if ([pickerViewisEqual:_pickerView]) {
           result = 10;
       }
       return result;
    }
    
      





    添加代理


        <UIPickViewDelegate>


        _pickerView.delegate =self;


        //给每个组件的title赋值

        - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

        {

            NSString *title =nil;

            if ([pickerViewisEqual:_pickerView]) {

                title = [NSStringstringWithFormat:@"Row %ld",(long)row + 1];

            }

            return title;

        }



    显示选中指示:


     _pickerView.showsSelectionIndicator = YES;





    选择子项:


    1.添加数据源

    @interface ViewController (){

       NSArray *pickerDatas;

    }


    pickerDatas = [NSArrayarrayWithObjects:@"Row1",@"Row2",@"Row3",@"Row4",@"Row5",@"Row6",@"Row7",nil];



    2.修改pickerview的返回条目


    //返回每个组件的数据条目

    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

    {

        NSInteger result =0;

        if ([pickerViewisEqual:_pickerView]) {

            result = [pickerDatascount];

        }

        return result;

    }


    3.修改pickerview的赋值


    //给每个组件的title赋值

    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

    {

        NSString *title =nil;

        if ([pickerViewisEqual:_pickerView]) {

            title = [NSStringstringWithFormat:@"%@",pickerDatas[row]];

        }

        return title;

    }



    4.添加选中pickerview子项方法


    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

    {

        NSString *title =pickerDatas[row];

        UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"Picker Selected"message:titledelegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil,nil];

        

        [alert show];

    }






  • 相关阅读:
    HRBUST 1849 商品中心
    UVA 11600 Masud Rana
    Codeforces Round #580 (Div.1)
    loj 6270 数据结构板子题
    luogu P1758 [NOI2009]管道取珠
    luogu P1852 [国家集训队]跳跳棋
    51nod 2589 快速讨伐
    SICP_3.9-3.11
    SICP_3.7-3.8
    SICP_3.5-3.6
  • 原文地址:https://www.cnblogs.com/in1ts/p/3572483.html
Copyright © 2020-2023  润新知