zoukankan      html  css  js  c++  java
  • 进击的UI---------------UIPickerView

    效果图:
    IOS--UIPikcerView的联动选择
    IOS--UIPikcerView的联动选择

    IOS--UIPikcerView的联动选择
     
    #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
  • 相关阅读:
    MyBatis学习总结(11)——MyBatis动态Sql语句
    MyBatis学习总结(11)——MyBatis动态Sql语句
    Dubbo学习总结(3)——Dubbo-Admin管理平台和Zookeeper注册中心的搭建
    Dubbo学习总结(1)——Dubbo入门基础与实例讲解
    Dubbo学习总结(1)——Dubbo入门基础与实例讲解
    Maven学习详解(13)——Maven常用命令大全与pom文件讲解
    3分钟了解ServiceStage 应用智能化运维【华为云分享】
    OBS带你玩转图片
    高性能Web动画和渲染原理系列(3)——transform和opacity为什么高性能
    【Python成长之路】Python爬虫 --requests库爬取网站乱码(xe4xb8xb0xe5xa)的解决方法
  • 原文地址:https://www.cnblogs.com/sharkHZ/p/4984196.html
Copyright © 2011-2022 走看看