zoukankan      html  css  js  c++  java
  • UIPickView简单Demo

    #import "ViewController.h"

    @interface ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
    展示数据的pickView
    @property (weak, nonatomic) IBOutlet UIPickerView *pickView;
     
    数组当中有3个小数组, 每一个小数组代表一列.每一列小数组的个数代表这一列有多少行.
    @property(nonatomic,strong) NSArray *foodArray;
    显示当前选中的食物
    @property (weak, nonatomic) IBOutlet UILabel *foodLabel;

    @end

    @implementation ViewController
     
     
     
     
     
     
    懒加载数据
    -(NSArray *)foodArray{
       
        if (_foodArray == nil) {
            获取Plist文件的路径
            NSString *filePath = [[NSBundle mainBundle] pathForResource:@"foods.plist" ofType:nil];
            从Plist文件当中加载数组.
            _foodArray = [NSArray arrayWithContentsOfFile:filePath];
           
        }
        return _foodArray;
    }

    - (void)viewDidLoad {
        [super viewDidLoad];
        设置数据源
        self.pickView.dataSource = self;
        设置代理
        self.pickView.delegate = self;
    }

     
     
    总共有多少列
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
         数组当中有几个元素, 就展示多少列.每一个元素代表一列,
        return self.foodArray.count;
    }
     
    第component列有多少行.
    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
        取出当前所在的列.每一列都是一个数组.
        NSArray *array = self.foodArray[component];
        返回每一组当中, 每一个小数组的数个, 也就是这一组里面有多少行.
        return array.count;
    }
     
    返回每一行的标题
    - (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
        取出当前所在的列.每一列都是一个数组.
        NSArray *componentArray = self.foodArray[component];
        返回小数组当中每一个元素
        return componentArray[row];
    }
     
    点击了哪一列的哪一行
    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
        NSString *food = self.foodArray[component][row];
        self.foodLabel.text = food;
    }
  • 相关阅读:
    css3 可穿透的盒子标签属性 pointer-events
    Visual Basic 6.0精简版下载地址
    VB实现七彩过渡渐变色效果
    ExcelVBA联考中学校自动分配
    VB经典的推箱子小游戏源程序
    坦克大战小游戏源程序
    扫雷初级版V1.0源程序
    班级随机点名程序
    VB弹力球源程序
    老师如何听课和评课?4个维度、20个观察视角、68个观察点!
  • 原文地址:https://www.cnblogs.com/liuzhenjie/p/5221599.html
Copyright © 2011-2022 走看看