进击的UI---------------UIPickerView

效果图:


 
#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

转载于:https://www.cnblogs.com/sharkHZ/p/4984196.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值