轻量级应用开发之(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
轻量级应用开发之(07) UIPickerView使用的更多相关文章
- 使用ionic与cordova(phonegap)进行轻量级app开发前的环境配置与打包安卓apk过程记录
前言 有人说:"如果你恨一个人,就让ta去接触cordova(phonegap)",这是因为这里面的水很深,坑很多,真让人不是一般地发狂.或许有幸运的人儿基本顺顺利利就配置完环境 ...
- 基于flask的轻量级webapi开发入门-从搭建到部署
基于flask的轻量级webapi开发入门-从搭建到部署 注:本文的代码开发工作均是在python3.7环境下完成的. 关键词:python flask tornado webapi 在python虚 ...
- iOS开发-数据选择UIPickerView
UIPickerView开发一般选择区域或者分级数据的时候会使用到,类似于前端中用到树状结构,不过PC上一般都是从上到下的分级,使用UIPickView是从左到右实现,可以动态的设置UIPickVie ...
- Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)
作者:Antonio Leiva 时间:Jan 5, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin/ 由于Lambda表达式允许更简单的方式建模式 ...
- React Native 开发之 (07) 常用组件-View
掌握了React Native的组件就可以使用IOS的原生组件和API. 一 View组件 就像开发web应用程序中,需要使用很多的HTML标签.例如 div,form.但是在基于DIV+CSS布局的 ...
- 【转载】利用jetty+Eclipse实现超轻量级web开发
之前一直使用maven的jetty插件.今天换种方式. 使用下面介绍的方式你只有一个java project就行. 开发环境更简单,debug也更方便,不需要remote debug的方式,jetty ...
- Web开发笔记 #07# Swagger Editor
Swagger Editor是一款可以用yaml格式进行RESTful API设计.可视化.测试的工具,并且能够实时看到自动生成的文档.效果大概是这样的↓ 根据官方网站介绍,如果是团队的话,建议用在线 ...
- iOS开发技巧 - 使用UIPickerView来选择值
(Swift) import UIKit class ViewController: UIViewController, UIPickerViewDataSource { var picker: UI ...
- 使用Vue.js初次真正项目开发-2018/07/14
一.组件化 使用Vue.js进行开发,按照MVVM模式,围绕数据为核心,进行开发. 开发过程根据业务和功能组件化,组件化一方面让我们开发思路更加清晰,另一方面对于数据的处理和控制变得更加简单,毕竟一个 ...
- TERSUS无代码开发(笔记07)-简单实例手机端后台逻辑开发
提交申请逻辑开发 1.添加父级对象引用(从父级对象中获取前端输入框的值) 1.设计数据库表(表名和字段名称不能用中文) 2.设计置数据库主键(可设联合主键) 3.传值形成数据实列处理 4.服务器端处理 ...
随机推荐
- POJ 3974 Palindrome
D - Palindrome Time Limit:15000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ...
- 【转】【C#】C#性能优化总结
1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意. 1.1.1 避免不必要的对象创 ...
- Android ViewPager使用详解
这是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等.那如 ...
- java 十六进制颜色对照表
我们在编程中常常用到十六进制颜色码. 下面是颜色码对照表-英文名称-十六进制-RGB: 英文代码 形像颜色 HEX格式 RGB格式 LightPink 浅 ...
- [CareerCup] 12.2 Find the Reason of Crash 找到程序崩溃的原因
12.2 You are given the source to an application which crashes when it is run. After running it ten t ...
- Linux第七次实验笔记
#期中总结 习题总结与分析 填空:Linux Bash中,Ctrl+a快捷键的作用是(将光标移至输入行头,相当于Home键). [ctrl]+u 从游标处向前删除指令串 [ctrl]+k 从游标处向后 ...
- RedHat版的linux安装yum源及redis
一.前言 最近正在学习redis,但是在安装redis的时候遇到很多坎,在此记录一下. 硬件环境:我用 VMware Workstation Pro 12 安装 Red Hat Enterprise ...
- Opencv step by step - 视频变换
这次是变换视频内容并且写入新的文件. 代码如下: note:因为代码比较少,前几篇博客的代码都是手打的,并且做了一些修改. #include <cv.h> #include <hig ...
- RF源码阅读(碎片纪录)-Python积木之contextlib
参考页面: http://docs.python.org/2/library/contextlib.html contextlib是为了配合with语句来使用的.使用起来更加简洁.本来想写一下,这位同 ...
- 阿里客户端工程师试题简析——Android应用的闪退(crash)分析
1. 问题描述 闪退(Crash)是客户端程序在运行时遭遇无法处理的异常或错误时而退出应用程序的表现,请从crash发生的原因分类与解决方法.在出现crash后如何捕捉并分析异常这两个问题给出自己的解 ...