美文网首页
CollectionView的cell中按钮的点击实现

CollectionView的cell中按钮的点击实现

作者: yscGr | 来源:发表于2017-02-04 10:31 被阅读0次

    参考: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。 

    相关文章

      网友评论

          本文标题:CollectionView的cell中按钮的点击实现

          本文链接:https://www.haomeiwen.com/subject/luyjittx.html