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
  • 相关阅读:
    常见的排序算法(四):归并排序
    常见的排序算法(三):快速排序
    常见的排序算法(二):选择排序
    a标签没有闭合引起自动插入很多a标签的问题
    js笔记
    Vue笔记
    CSS笔记
    bootstrap--网格化布局
    backgroud图片充满元素的方法
    bootstrap--概述
  • 原文地址:https://www.cnblogs.com/sharkHZ/p/4984196.html
Copyright © 2011-2022 走看看