zoukankan      html  css  js  c++  java
  • 选择器

    1.日期旋转器(UIDatePicker)

     日期选择器有4种:日期,日期时间,时间和倒计时器

    UIDatePicker的属性设置:

    Mode:设置日期选择器的模式

    Local:设置本地化,日期选择器会按照本地习惯的文字显示

    Interval:设定间隔时间,单位为分钟

    Date:设定开始时间

    Constraints:设定能显示的最大和最小日期

    Timer:在倒计时定时器模式下倒计时的秒数。

    @property (weak, nonatomic) IBOutlet UIDatePicker *datePicker;

    @property (weak, nonatomic) IBOutlet UILabel *label;

        NSDate *date = self.datePicker.date;

        NSLog(@"the date picked is: %@",[date descriptionWithLocale:[NSLocale currentLocale]]);

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

        [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

        NSLog(@"the date formate is:%@",[dateFormatter stringFromDate:date]);

        self.label.text = [dateFormatter stringFromDate:date];

    2.普通选择器(UIPickerView)

      需要两个协议UIPickerViewDataSource和UIPickerViewDelegate.

    案例草图:

      将省市信息放在provinces_cities.plist文件中,这个文件采用字典结构。

    @property (weak,nonatomic)IBOutlet UIPickerView *pickerView;

    @property (weak, nonatomic) IBOutlet UILabel *label;

    @property (nonatomic,strong) NSDictionary *pickerData;

    @property (nonatomic,strong) NSArray *pickerProvincesData;

    @property (nonatomic,strong) NSArray *pickerCitiesData;

    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view, typically from a nib.

        NSBundle *bundle = [NSBundle mainBundle];

        NSString *plistPath = [bundle pathForResource:@"provinces_cities" ofType:@"plist"];

        

        NSDictionary *dict = [[NSDictionary alloc]initWithContentsOfFile:plistPath ];

        self.pickerData = dict;

        

        self.pickerProvincesData = [self.pickerData allKeys];

        

        NSString *selectedProvice = [self.pickerProvincesData objectAtIndex:0];

        self.pickerCitiesData = [self.pickerData objectForKey:selectedProvice];

        [self.pickerView setDataSource:self];

        [self.pickerView setDelegate:self];

    }

    - (IBAction)onClick:(id)sender {

        NSInteger row1 = [self.pickerView selectedRowInComponent:0];

        NSInteger row2 = [self.pickerView selectedRowInComponent:1];

        NSString *selected1 = [self.pickerProvincesData objectAtIndex:row1];

        NSString *selected2 = [self.pickerCitiesData objectAtIndex:row2];

        NSString *title = [[NSString alloc]initWithFormat:@"%@,%@市",selected1,selected2 ];

        self.label.text = title;

        

    }

    #pragma mark -UIPickerViewDataSource

    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

    {

        return 2;

    }

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

    {

        if (component == 0) {

            return [self.pickerProvincesData count];

        }else{

            return [self.pickerCitiesData count];

        }

    }

    #pragma mark - UIPickerViewDelegate

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

    {

        if (component == 0) {

            return [self.pickerProvincesData objectAtIndex:row];

        }else{

            return [self.pickerCitiesData objectAtIndex:row];

        }

    }

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

    {

        if (component == 0) {

            NSString *selectedProvince = [self.pickerProvincesData objectAtIndex:row];

            NSArray *citiesArray = [self.pickerData objectForKey:selectedProvince];

            self.pickerCitiesData = citiesArray;

            [self.pickerView reloadComponent:1];

        }

    }

  • 相关阅读:
    kitkat-s5p4418drone 记录
    Android USER 版本与ENG 版本的差异
    Android中的Apk的加固(加壳)原理解析和实现(转)
    Android悬浮窗实现 使用WindowManager
    Android系统的开机画面显示过程分析
    【PMP】变更流程图与说明
    【PMP】十五至尊图
    【Excle】一个比VLOOKUP牛的函数LOOKUP
    【DB2】慎用nickname,可能会引起效率较低
    【读书】人生向前-读书笔记
  • 原文地址:https://www.cnblogs.com/PJXWang/p/5421752.html
Copyright © 2011-2022 走看看