• UIPickerView 简单操作和实际应用


    1、UIPickerView 选择指示器控件

        //选择器的初始化

        UIPickerView * pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 50, self.view.bounds.size.width, 300)];

        pickerView.dataSource = self; 数据源

        pickerView.delegate = self;代理

        //iOS7h后没有效果(是否显示指示器)

        pickerView.showsSelectionIndicator = NO;

     //返回选中的row数

        NSInteger selectedRow = [pickerView selectedRowInComponent:0];

      //刷新数据

     [pickerView reloadAllComponents]

        //选择行数(选择第0组第三行)

        [pickerView selectRow:3 inComponent:0 animated:YES];

    }

    2、UIPickerViewDataSource数据源方法

    //一个pickerView有多少个组件(列)

    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {

        

        return 2;

    }

    //一个组件有多少排

    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {  

        return self.dataList.count;

    }

    //每排显示的题目

    - (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {

        return self.dataList[row];

    }

    //选中多少行

    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {    

        NSLog(@"您选中了第%@行",@(row));

    }

    3、UIPickerViewDelegate代理方法

    //组件的宽度

    - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {    

        if (component == 0) {

            return 250;

        }

        return 50;

    }

    4、UIDatePicker

        //默认显示当前时间

        UIDatePicker * datePicker = [[UIDatePicker alloc] init];

        //获取所有时区

        NSLog(@"%@",[NSLocale availableLocaleIdentifiers]);

        //设置时区

        datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_CN"];    

        //datePicker样式选择

        datePicker.datePickerMode = UIDatePickerModeDateAndTime;

        NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

        formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

        NSDate * date =  [formatter dateFromString:@"2015-02-03 09:21:22"];

        datePicker.date = date;    

        //设置最小时间

        datePicker.minimumDate = [date dateByAddingTimeInterval: - 24 * 60 * 60];

        //设置最大时间

        datePicker.maximumDate = [date dateByAddingTimeInterval: 24 * 60 * 60];

        //设置时间间隔

        datePicker.minuteInterval = 30;    

  • 相关阅读:
    WPF资源字典使用
    忍住你的痛苦
    WPF附加属性
    一致性Hash算法详解
    登录注册
    REST
    资源访问
    参与Bean的生命周期
    sqlserver中查询横表变竖表的sql语句简析
    C#跨线程修改控件——从MSIL和汇编看Invoke, 多线程, 事件与事件委托
  • 原文地址:https://www.cnblogs.com/PSSSCode/p/5272056.html
Copyright © 2020-2023  润新知