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;
    }
  • 相关阅读:
    How does a single thread run on multiple cores?
    一篇所有研究生都该读的好文:阳光温热 科研静好
    Running Slic3r from git on GNU Linux
    3D打印的各种问题及解决方案
    新工科的新视角:面向可持续竞争力的敏捷教学体系
    What is Modularity
    3d打印模型为什么文件格式必须是stl和stp的?
    剑指offer 39.平衡二叉树
    剑指offer 38.二叉树的深度
    剑指offer 37.数字在排序数组中出现的次数
  • 原文地址:https://www.cnblogs.com/liuzhenjie/p/5221599.html
Copyright © 2011-2022 走看看