zoukankan      html  css  js  c++  java
  • 轻量级应用开发之(07) UIPickerView使用


    #import "ViewController.h"

    @interface ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>

    /*** 数据数组 ***/
        @property(nonatomic, strong) NSArray * foods;
    @property (weak, nonatomic) IBOutlet UILabel *fruitLabel;

    @property (weak, nonatomic) IBOutlet UILabel *mainFoodLabel;
    @property (weak, nonatomic) IBOutlet UILabel *drinkLabel;

    @end

    @implementation ViewController

    //懒加载
    - (NSArray *) foods{
        if(!_foods){
            _foods = [NSArray arrayWithContentsOfFile:[ [NSBundle mainBundle] pathForResource:@"foods.plist" ofType:nil ] ];
        }
        return _foods;
    }

    - (void)viewDidLoad {
        [super viewDidLoad];
        
        //让label们显示当前的数据
        self.fruitLabel.text = self.foods[0][0];
        self.mainFoodLabel.text = self.foods[1][0];
        self.drinkLabel.text = self.foods[2][0];
    }

    #pragma mark - <UIPickerViewDataSource, UIPikerViewDelegate>
    //返回多少列
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
        
        return self.foods.count;
    }

    //设置每一个component显示多少行
    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
      //  NSLog(@"--- pickerView numberOfRowsInComponent");
        NSArray * subArr = self.foods[component];
        return subArr.count;
    }

    #pragma mark - <代理>
    //component列row行显示什么文字
    -  (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
        NSLog(@"--- pickerView titleForRow");
        return  self.foods[component][row];
    }

    //监听用户选中
    - (void ) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
       // NSLog(@"%zd的%zd", component, row);
        
        //水果
        if(component == 0 ){
            self.fruitLabel.text = self.foods[component][row];
        }else if( component == 1 ){
        //主菜
           self.mainFoodLabel.text =self.foods[component][row];
        }else if( component == 2){
            //饮料
           self.drinkLabel.text = self.foods[component][row];
        }
        
    }

    @end



    知识点:

    在XCode中 commond + option + 回车

     

    参考资料:

    http://www.cnblogs.com/songliquan/p/4564963.html

    http://www.cnblogs.com/qingche/p/3565243.html

  • 相关阅读:
    Wpf 数据绑定实例2
    Wpf 数据绑定简介、实例1
    Wpf ListBox数据绑定实例1--绑定字典集合
    Wpf控件ListBox使用实例2
    阿里UX矢量图标库–最强大的矢量图标库(Icon font制作力荐工具)
    Web字体工具整理,网页图标字体以及使用方法整理
    ICOMOON!强悍的WEB字体图标制造器/Web字体使用实例
    window.applicationCache事件,介绍
    HTML5 离线缓存忽略主页实例
    条件注释判断浏览器版本<!--[if lt IE 9]>(转载)
  • 原文地址:https://www.cnblogs.com/wangshuo1/p/5436120.html
Copyright © 2011-2022 走看看