博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIPickView简单Demo
阅读量:6879 次
发布时间:2019-06-26

本文共 1613 字,大约阅读时间需要 5 分钟。

#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;
}

转载于:https://www.cnblogs.com/liuzhenjie/p/5221599.html

你可能感兴趣的文章
XVI Open Cup named after E.V. Pankratiev. GP of Ekaterinburg.
查看>>
iOS-中app启动闪退的原因
查看>>
iOS--高级技术
查看>>
入门·开始使用机器学习
查看>>
【备忘】oc 调用 swift
查看>>
screen命令总结
查看>>
struct内存对齐
查看>>
套接字基础
查看>>
【转】配置Editplus调试PHP程序入门教程
查看>>
iphone-common-codes-ccteam源代码 CCKeyboard.h
查看>>
Javascript中的原型prototype
查看>>
个人随想:对于一个.Neter来说,如果一直想走技术路线,该怎么走下去
查看>>
深浅拷贝
查看>>
Mysql 解锁处理
查看>>
源码来袭!!!基于jquery的ajax分页插件(demo+源码)
查看>>
JDBC的基本用法
查看>>
二分查找的递归和非递归实现
查看>>
Hadoop基本命令
查看>>
TCP协议与UDP协议的区别
查看>>
 P2152 [SDOI2009]SuperGCD (luogu)
查看>>