• 省市便利 UIPicherView


    @property (strong,nonatomic) UIPickerView *pickerV;

    @property (strong,nonatomic) NSArray *arr;

    @property (strong,nonatomic) NSMutableArray *arrCity;

    @property (strong,nonatomic) NSMutableArray *arrPro;

    @property (assign,nonatomic) int index;

    @property (strong,nonatomic) NSString *provice;

    @property (strong,nonatomic) NSString *city;

    @property (strong,nonatomic) UIButton *btn;

     
     

     self.pickerV = [[UIPickerView alloc] initWithFrame:CGRectMake(40, 100, 300, 200)];

        self.pickerV.backgroundColor = [UIColor grayColor];

        self.pickerV.delegate = self;

        self.pickerV.dataSource = self;

        [self.view addSubview:self.pickerV];

        

        NSString *path = [[NSBundle mainBundle] pathForResource:@"city" ofType:@".plist"];

        self.arr = [NSArray array];

        self.arr = [NSArray arrayWithContentsOfFile:path];

        self.arrCity = [NSMutableArray array];

        self.arrPro = [NSMutableArray array];

        

        for (NSDictionary *dic in self.arr)

        {

            [self.arrPro addObject:dic[@"State"]];

            

        }

        self.index = (int)[self.pickerV selectedRowInComponent:0];

        NSDictionary *dic1 = [self.arr objectAtIndex:self.index];

        [self.arrCity addObjectsFromArray:dic1[@"Cities"]];

        

        

        self.btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

        self.btn.backgroundColor = [UIColor blueColor]; 

    -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

    {

        return 2;

    }

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

    {

        if (component == 0)

        {

          return self.arrPro.count;

        }

        

        else

        {

            return self.arrCity.count;

        }

    }

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

    {

        if (component == 0)

        {

            return self.arrPro[row];

        }

        else

        {

            return self.arrCity[row][@"city"];

        }

    }

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

    {

        if (component == 0)

        {

            [self.arrCity removeAllObjects];

            NSString *provice = [self.arrPro objectAtIndex:row];

            [self.arrCity addObjectsFromArray:self.arr[row][@"Cities"]];

            [self.pickerV reloadComponent:1];

            NSInteger cityIndex = [self.pickerV selectedRowInComponent:1];

            NSString *city = [self.arrCity objectAtIndex:cityIndex];

            NSString *msg = [NSString stringWithFormat:@"%@,%@",provice,city];

            NSLog(@"%@",msg);

        }

        

        else

        {

            NSInteger proviceIndex = [self.pickerV selectedRowInComponent:0];

            NSString *provice = [self.arrPro objectAtIndex:proviceIndex];

            NSString *city = [self.arrCity objectAtIndex:row];

            NSString *msg = [NSString stringWithFormat:@"%@,%@",provice,city];

            NSLog(@"%@",msg);

        }

    }

     
  • 相关阅读:
    JavaScript (new)创建一个对象的过程
    我所理解的promise的then方法
    promise与async和await的区别
    JS Promise实例 then()方法
    电脑上不去网
    es6----set map应用场景
    ES6新特性一览
    es6继承
    es6中class类的全方面理解(一)
    时间处理金字教程
  • 原文地址:https://www.cnblogs.com/wujie123/p/5269738.html
Copyright © 2020-2023  润新知