UIPickVIew

来源:互联网 发布:淘宝取消订单有影响吗 编辑:程序博客网 时间:2024/05/03 17:46
////  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

0 0
原创粉丝点击