ios之自动拾取器
2016-05-04 10:23
513 查看
//
// ViewController.m
// 自动拾取器
//
// Created by 李江 on 16/5/4.
// Copyright © 2016年
李江. All rights reserved.
//
#import "ViewController.h"
#import "MJExtension.h"
#import "CityModel.h"
@interface
ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
{
NSArray *dataArray;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super
viewDidLoad];
UIPickerView *pickerView = [[UIPickerView
alloc]initWithFrame:CGRectMake(0,
736-300,
414, 300)];
pickerView.delegate =self;
pickerView.dataSource =
self;
pickerView.backgroundColor = [UIColor
grayColor];
NSString *path = [[NSBundle
mainBundle]pathForResource:@"city"
ofType:@"plist"];
dataArray = [NSArray
arrayWithContentsOfFile:path];
//把数据类型转化为CityModel
NSLog(@"%@",dataArray);
dataArray = [CityModel
mj_objectArrayWithKeyValuesArray:dataArray];
[self.view
addSubview:pickerView];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return
2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component ==
0) {
return
dataArray.count;
}
NSInteger selectRow = [pickerView
selectedRowInComponent:component];
CityModel *model =
dataArray[selectRow];
NSArray *cityArray = model.cities;
return cityArray.count;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
if (component ==
0) {
CityModel *model =
dataArray[row];
return model.state;
}
NSInteger selectedRow = [pickerView
selectedRowInComponent:0];
CityModel *model =
dataArray[selectedRow];
return model.cities[row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
if (component ==
0) {
[pickerView reloadAllComponents];
}
}
*******
CityModel.h里面代码如下
@property(nonatomic,copy)NSArray
*cities;
@property(nonatomic,copy)NSString
*state;
plist文件格式
运行效果
// ViewController.m
// 自动拾取器
//
// Created by 李江 on 16/5/4.
// Copyright © 2016年
李江. All rights reserved.
//
#import "ViewController.h"
#import "MJExtension.h"
#import "CityModel.h"
@interface
ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
{
NSArray *dataArray;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super
viewDidLoad];
UIPickerView *pickerView = [[UIPickerView
alloc]initWithFrame:CGRectMake(0,
736-300,
414, 300)];
pickerView.delegate =self;
pickerView.dataSource =
self;
pickerView.backgroundColor = [UIColor
grayColor];
NSString *path = [[NSBundle
mainBundle]pathForResource:@"city"
ofType:@"plist"];
dataArray = [NSArray
arrayWithContentsOfFile:path];
//把数据类型转化为CityModel
NSLog(@"%@",dataArray);
dataArray = [CityModel
mj_objectArrayWithKeyValuesArray:dataArray];
[self.view
addSubview:pickerView];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return
2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component ==
0) {
return
dataArray.count;
}
NSInteger selectRow = [pickerView
selectedRowInComponent:component];
CityModel *model =
dataArray[selectRow];
NSArray *cityArray = model.cities;
return cityArray.count;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
if (component ==
0) {
CityModel *model =
dataArray[row];
return model.state;
}
NSInteger selectedRow = [pickerView
selectedRowInComponent:0];
CityModel *model =
dataArray[selectedRow];
return model.cities[row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
if (component ==
0) {
[pickerView reloadAllComponents];
}
}
*******
CityModel.h里面代码如下
@property(nonatomic,copy)NSArray
*cities;
@property(nonatomic,copy)NSString
*state;
plist文件格式
运行效果
相关文章推荐
- ios 图片拉伸方法
- iOS图文混排(需要在文本或者字符串中某些特定位置添加文本框)
- IOS深入理解GCD之dispatch_sync
- iOS——百度统计
- iOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- ios 支付宝:移动支付2
- xamarin 学习笔记02- IOS Simulator for windows 安装
- iOS开发 ☞ NSNotification
- iOS AVFoundation实现相机功能
- iOS 随机数的使用
- iOS 短信验证码倒计时按钮的实现
- IOS9 适配
- 斯坦福大学 iOS 开发公开课总结
- iOS开发简单高效的数据存储
- iOS属性声明strong和retain竟然不一样
- iOS开发实用技术_Touch ID
- iOS开发之安全学习资料汇总,史上最全安全学习资料
- Github上的iOS App源码 (中文)
- iOS 钥匙串 保存登录个人信息
- iOS应用开发中使用NSLocale类实现对象信息的本地化