//
#import
"RootViewController.h"
@interface RootViewController
()
@end
@implementation
RootViewController
-
(id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle
*)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom
initialization
}
return self;
}
-
(void)viewDidLoad
{
[super
viewDidLoad];
// Do any additional setup after loading the view.
// 初始化身份数据
NSMutableArray *tempArray1 = [NSMutableArray arrayWithObjects:@"北京",
@"河北",
@"天津",
nil];
self.citysArray = tempArray1;
// 初始化城市数据
@"朝阳区",
@"海淀区",
@"西城区",
@"东城区",
"昌平区",
nil
NSMutableArray *tempArray2 = [NSMutableArray arrayWithObjects:@"朝阳区",
@"海淀区",
@"西城区",
@"东城区",
@"昌平区",
nil];
self.districtesArray = tempArray2;
// 初始化UIPickerView
UIPickerView *onePickerView =
[[UIPickerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height - 216, 320, 216)];
// 设置委托对象
onePickerView.delegate = self;
onePickerView.showsSelectionIndicator = YES; //
设置选中的一行高亮显示
// 设置数据源对象
onePickerView.dataSource = self;
self.pickerView = onePickerView;
[onePickerView release], onePickerView = nil;
[self.view
addSubview:_pickerView];
}
-
(void)didReceiveMemoryWarning
{
[super
didReceiveMemoryWarning];
// Dispose of any resources that can be
recreated.
}
#pragma mark - 重写---滚动滚轮调用的方法
-
(void)pickerView:(UIPickerView *)pickerView
didSelectRow:(NSInteger)row
inComponent:(NSInteger)component {
if (component == 0) {
switch (row)
{
case 0:
self.districtesArray = [NSMutableArray arrayWithObjects:@"朝阳区",
@"海淀区",
@"西城区",
@"东城区",
@"昌平区",
nil];
break;
case 1:
self.districtesArray = [NSMutableArray arrayWithObjects:@"保定",
@"沧州",
@"邢台",
@"唐山",
nil];
break;
case 2:
self.districtesArray = [NSMutableArray arrayWithObjects:@"红桥区",
@"北辰区",
@"西青区",
@"武清区",
@"呵呵",
nil];
break;
default:
break;
}
//
修改完数据之后重新加载数据
[pickerView reloadComponent:1];
//
设置默认选中的为第二个滚轮的第一个选项
[pickerView
selectRow:0 inComponent:1
animated:YES];
}
}
#pragma mark - 重写---协议中的方法
#pragma
mark 设置总共有几个滚轮 返回值是几既有机房
-
(NSInteger)numberOfComponentsInPickerView:(UIPickerView
*)pickerView {
return 2;
}
#pragma
mark 这种相同的数据源返回相同的数据源
-
(NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component {
if (component == 0) { //
判断是左面第一个滚轮
return
self.citysArray.count;
} else {
return self.districtesArray.count;
}
}
#pragma mark - 重写---获取数据源显示在UIPickerView上
-
(NSString
*)pickerView:(UIPickerView
*)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (component == 0) {
return
[self.citysArray objectAtIndex:row];
} else {
return
[self.districtesArray objectAtIndex:row];
}
}
#pragma mark - 重写---dealloc方法
-
(void)dealloc {
[_pickerView release], _pickerView = nil;
[super dealloc];
}
@end
|