UIPickerView学习笔记

1、注意点:

首先,需要注意,设置UIPickerView的【数据源】以及【代理】,这里要遵循一个三部曲:

  1. 遵守协议
  2. 设置代理/数据源
  3. 实现方法

协议如下:

<UIPickerViewDataSource,UIPickerViewDelegate>

 苹果的协议的命名都很规范,都以类名开头,以DataSource或Delegate结尾,所以,这里不光是这个控件,在自学的过程中,这样的规律也可以让自己受益匪浅

当实现了DataSource后,系统的编译器会产生⚠️,提示让我们实现一些协议中requered的方法,我们可以按住【cmd】键,点击DataSource协议,进入协议头文件看一下,我们可以看到如下图所示的内容:

@protocol UIPickerViewDataSource<NSObject>
@required

// returns the number of 'columns' to display.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;

// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
@end

 这里,我们看到有两个方法,我的老师袁振告诉我说,学习一个方法,需要注意两点,一个是方法的作用一个是方法什么时候调用这里,我们依照这个方式来学习这两个方法。

其实,如果英语好的朋友已经知道这两个方法的作用了,注释很清楚。而对于英语不好的朋友,可以看一下我这篇文章,其实英语还是很重要的,废话不多说,我们先来说这两个方法的作用:

1.返回需要显示多少列

2.返回component列有多少行

这两个是数据源方法,在加载控件的时候,会调用。

设置好以后这时候我们来运行一下,会看到内容全都是问号。这是因为我们仍需要一个方法,来告诉pickerView来显示什么内容,那为什么不把这个也定义为数据源方法呢?我猜是因为这里需要显示什么,有两个方法:

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;

 第一个,返回值是一个NSString那么,我们就知道了,第一个方法可以让控件显示一些文字,而第二个,如此类推,它会让控件显示一些视图。有了这三个方法,就可以简单地显示一个UIPickerView了。

转载于:https://www.cnblogs.com/cjfire/p/4060252.html

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值