码迷,mamicode.com
首页 > 移动开发 > 详细

iOS.UIKit.11.UIPickerView

时间:2014-06-04 14:38:12      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

一、案例介绍:点击UIButton,将选中的省市信息显示在UILabel中,如图01,02

bubuko.com,布布扣图01bubuko.com,布布扣图02

二、案例步骤:

1、选择Simple View Aplication,取名cq.37.普通选择器,如图03

bubuko.com,布布扣图03

2、Main.storyboard,如图04

bubuko.com,布布扣

3、provinces_cities.plist

bubuko.com,布布扣

4、CQ37ViewController.h

bubuko.com,布布扣
#import <UIKit/UIKit.h>

@interface CQ37ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate>

@property (weak,nonatomic) IBOutlet UIPickerView *pickerView;

@property (weak,nonatomic) IBOutlet UILabel *label;

@property (strong,nonatomic) NSDictionary *pickerData;
@property (strong,nonatomic) NSArray *pickerProvincesData;
@property (strong,nonatomic) NSArray *pickerCitiesData;

- (IBAction)onclick:(id)sender;
@end
bubuko.com,布布扣

5、CQ37ViewController.m

bubuko.com,布布扣
#import "CQ37ViewController.h"

@interface CQ37ViewController ()

@end

@implementation CQ37ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    NSBundle *mainBundle = [NSBundle mainBundle];
    NSString *plistPath = [mainBundle pathForResource:@"provinces_cities" ofType:@"plist"];
    
    NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
    self.pickerData = dict;
    
    self.pickerProvincesData = [dict allKeys];
    
    NSString *selectedProvince = [self.pickerProvincesData objectAtIndex:0];
    self.pickerCitiesData = [self.pickerData objectForKey:selectedProvince];
    
    self.pickerView.delegate = self;
    self.pickerView.dataSource = self;
}

- (IBAction)onclick:(id)sender
{
    NSInteger row1 = [self.pickerView selectedRowInComponent:0];
    NSInteger row2 = [self.pickerView selectedRowInComponent:1];
    
    NSString *selected1 = [self.pickerProvincesData objectAtIndex:row1];
    NSString *selected2 = [self.pickerCitiesData objectAtIndex:row2];
    
    NSString *title = [[NSString alloc] initWithFormat:@"%@,%@",selected1,selected2];
    
    self.label.text = title;
}
#pragma mark UIPickerViewDataSource method
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    if (component == 0) {
        return [self.pickerProvincesData count];
    }else{
        return [self.pickerCitiesData count];
    }
}
#pragma mark 实现协议UIPickerViewDelegate方法
-(NSString *)pickerView:(UIPickerView *)pickerView
            titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    if (component == 0) {//选择省份名
        return [self.pickerProvincesData objectAtIndex:row];
    } else {//选择市名
        return [self.pickerCitiesData objectAtIndex:row];
    }
}

- (void)pickerView:(UIPickerView *)pickerView
      didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    if (component == 0) {
        NSString *seletedProvince = [self.pickerProvincesData objectAtIndex:row];
        NSArray *array = [self.pickerData objectForKey:seletedProvince];
        self.pickerCitiesData = array;
        [self.pickerView reloadComponent:1];
    }
}
@end
bubuko.com,布布扣

 

iOS.UIKit.11.UIPickerView,布布扣,bubuko.com

iOS.UIKit.11.UIPickerView

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/cqchen/p/3765023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!