zoukankan      html  css  js  c++  java
  • 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;    

  • 相关阅读:
    Redis 6.0 新特性多线程连环13问!
    这些Java8官方挖过的坑,你踩过几个?
    读Hadoop3.2源码,深入了解java调用HDFS的常用操作和HDFS原理
    AI学习笔记:人工智能与机器学习概述
    千亿级互联网平台技术架构及背后那些事
    报告老板,微服务高可用神器已祭出,您花巨资营销的高流量来了没?
    千亿级平台技术架构:为了支撑高并发,我把身份证存到了JS里
    从技术思维角度聊一聊『程序员』摆地摊的正确姿势
    TryCatch包裹的代码异常后,竟然导致了产线事务回滚!
    SpringBoot集成邮件发送
  • 原文地址:https://www.cnblogs.com/PSSSCode/p/5272056.html
Copyright © 2011-2022 走看看