//
// CItyPickerViewController.m
// CityPickViewController
//
// Created by xiaoyao on 15/4/17.
// Copyright (c) 2015年 lijien. All rights reserved.
//
#import "CItyPickerViewController.h"
@interface CItyPickerViewController () {
NSDictionary *_cityDataPickerDict;
NSArray *_provinceDataArray;
NSArray *_cityDataArray;
UIPickerView *_pickerView;
}
@end
@implementation CItyPickerViewController
- (void)viewDidLoad {
[super viewDidLoad];
CGFloat x = 0;
CGFloat y = 300;
CGFloat w = [UIScreen mainScreen].bounds.size.width;
CGFloat h = 200;
_pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(x, y, w, h)];
_pickerView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:_pickerView];
_pickerView.userInteractionEnabled = YES;
_pickerView.delegate = self;
_pickerView.dataSource = self;
[self getData];
}
- (void)getData {
NSString *pathPlist = [[NSBundle mainBundle] pathForResource:@"c" ofType:@"plist"];
_cityDataPickerDict = [NSDictionary dictionaryWithContentsOfFile:pathPlist];
_provinceDataArray = _cityDataPickerDict.allKeys;
for (NSString * selectProvince in _provinceDataArray) {
_cityDataArray = [_cityDataPickerDict objectForKey:selectProvince];
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - UIPickerViewDataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
if (component == 0) {
return _provinceDataArray.count;
} else {
return _cityDataArray.count;
}
}
#pragma mark - UIPickerViewDelegate
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (component == 0) {
return [_provinceDataArray objectAtIndex:row];
} else {
return [_cityDataArray objectAtIndex:row];
}
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if (component == 0) {
NSString *selectProvince = [_provinceDataArray objectAtIndex:row];
_cityDataArray = [_cityDataPickerDict objectForKey:selectProvince];
[_pickerView reloadComponent:1];
}
}
//- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component {
// return (component == 0 ? 90 : 80);
//}
@end
UIPickVIew
最新推荐文章于 2020-09-16 16:32:21 发布