CollectionView的cell中按钮的点击实现

2017-02-04  本文已影响0人  yscGr

参考:http://www.2cto.com/kf/201511/451557.html

1、创建你所需要的Button 

2、为了点击这个按钮,我们要根据每一个cell来找到按钮,所以需要在

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

//实现这个方法。找到每一个按钮⬇️⬇️⬇️⬇️

UIButton *deviceImageButton = cell.imageButton;

[deviceImageButton addTarget:self action:@selector(deviceButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

}

3、**重点**

实现按钮的点击。这里是重点,如果这里我们想直接对按钮进行操作,是无法完成的。必须要注意按钮和cell之间的层级关系。如果大家使用了storyboard或者nib,可以打开查看层级关系,由于我这里的cell是代码生成的,无法直观的给大家看。但是它们的层级关系是:Cell-->ContentView-->button. 所以注意的是:我们必须找到该button对应的cell,才能完全确定该button的section和row。所以要注意代码中的两个:superview方法。该按钮的实现代码如下:

- (void)deviceButtonPressed:(id)sender{

UIView *v = [sender superview];//获取父类view

注:(自定义的CollectionViewCell :CollectionViewCell)

CollectionViewCell *cell = (CollectionViewCell *)[v superview];//获取cell

NSIndexPath *indexpath = [self.collectionView indexPathForCell:cell];//获取cell对应的indexpath;

NSLog ----> 打印  section 和  row

4、此时运行程序就可以看到你所需要的section 和 row。 

上一篇下一篇

猜你喜欢

热点阅读