iOS高级开发——CollectionView的cell中按钮的点击实现
2016-12-15 11:11
411 查看
(1)自定义cell
我在cell中包含了一个按钮和一个文本。自定义代码如下:
CollectionViewCell.h:
?
CollectionViewCell.m:
?
(2)为了点击这个按钮,我们要根据每一个cell来找到按钮,所以需要在
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{}方法中实现如下:
?
(3)实现按钮的点击。这里是重点,如果这里我们想直接对按钮进行操作,是无法完成的。必须要注意按钮和cell之间的层级关系。如果大家使用了storyboard或者nib,可以打开查看层级关系,由于我这里的cell是代码生成的,无法直观的给大家看。但是它们的层级关系是:Cell-->ContentView-->button.
所以注意的是:我们必须找到该button对应的cell,才能完全确定该button的section和row。所以要注意代码中的两个:superview方法。该按钮的实现代码如下:
?
(4)运行程序,我们可以发现点击按钮可以获得响应,并打印出该按钮的indexPath.section和indexPath.row。点击按钮和点击cell是彼此独立,没有任何影响的,可以分别进行响应事件的处理。
总结:通过实际开发我们可以发现,TableView和CollectionView实在是太像了,两者毕竟都继承自ScrollView,CollectionView其实就是TableView的扩展。现在往往就是看着TableView的某些效果或者代码,然后试图去CollectionView上实现,反之亦可。就像看着OC写Swift或者看着Swift写OC一样。 如果有熟悉Android的同学也会发现,今天我们讲到的TableView、CollectionView关系就像是Android中ListView和RecycleView的关系一样。只有融会贯通,我们才会随心所欲实现自己想要的效果。让我们一起学习,一起进步吧。
我在cell中包含了一个按钮和一个文本。自定义代码如下:
CollectionViewCell.h:
?
7 |
?
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{}方法中实现如下:
?
所以注意的是:我们必须找到该button对应的cell,才能完全确定该button的section和row。所以要注意代码中的两个:superview方法。该按钮的实现代码如下:
?
总结:通过实际开发我们可以发现,TableView和CollectionView实在是太像了,两者毕竟都继承自ScrollView,CollectionView其实就是TableView的扩展。现在往往就是看着TableView的某些效果或者代码,然后试图去CollectionView上实现,反之亦可。就像看着OC写Swift或者看着Swift写OC一样。 如果有熟悉Android的同学也会发现,今天我们讲到的TableView、CollectionView关系就像是Android中ListView和RecycleView的关系一样。只有融会贯通,我们才会随心所欲实现自己想要的效果。让我们一起学习,一起进步吧。
相关文章推荐
- iOS高级开发——CollectionView的cell中按钮的点击实现
- iOS高级开发——CollectionView的cell长按事件实现
- iOS高级开发——CollectionView的cell长按事件实现
- 该篇博客是在《iOS高级开发——CollectionView的动态增删cell及模型重构》的基础上继续进行开发的。在之前那篇博客中,我们实现了动态的增删cell,并且使用了模型Model进行重构
- ios开发之-- tableview/collectionview获取当前点击的cell
- iOS高级开发——CollectionView的动态增删cell及模型重构
- iOS实现tableViewCell或collectionCell中点击界面按钮跳转
- 李洪强iOS开发之-实现点击单行View显示和隐藏Cell
- iOS 开发,屏幕旋转、旋转屏幕collectionView cell 的自动布局问题
- iOS开发-UICollectionView实现瀑布流
- 【iOS开发-9】UIImage和UIImageView属性介绍,实现图片动画,实现开始/停止按钮效果
- iOS开发按钮点击操作的实现
- iOS CollectionView交互,CollectionViewCell点击操作
- iOS开发-UICollectionView实现瀑布流
- IOS 中关于自定义Cell 上的按钮 开关等点击事件的实现方法(代理)
- ios开发-UI基础-应用管理(单纯界面)改进5-使用代理实现监听下载按钮的点击(delegate)
- iOS 9的新特性之一——实现给collectionView上的cell进行重新排序的功能
- iOS项目开发实战——实现UICollectionView的动态增加Cell与Section
- ios tableView 自定义cell上的按钮点击事件不好用
- iOS项目开发小技巧 (三) --UITableView实现Cell左划删除等自定义功能