1

新的类之一是,它允许以类似于 Homescreen / iBooks / Pages 布局的网格格式显示项目。

有没有办法在 UICollectionViewCell 上的按钮上接收触摸事件?目前,我的单元格是通过 XIB 文件创建的,并以编程方式添加到 UICollectionView。我正在寻找类似于 UITableView 上的 Detail Disclosure Indicator 的东西。

在这里查看 Apple 的文档后,我没有看到任何允许这样的方法,但我很肯定有办法做到这一点。

如何在 UICollectionViewCell 中添加一个按钮并在点击按钮时获取单元格的 indexPath?

是否有任何可能有用的教程或链接?iOS 6 相当新,所以我没有找到太多。提前致谢。

4

1 回答 1

2

一种方法是向NSIndexPath单元格添加一个属性,并在单元格出列时设置它。然后,您的单元格的操作处理程序将有权访问当前索引。

您的片段UICollectionViewCell

@interface MyCustomCell : UICollectionViewCell
@property (weak, nonatomic) NSIndexPath *indexPath;
- (IBAction)testClicked:(id)sender; // TODO: wire up your button to this handler
@end

实现 UICollectionViewDataSource 的视图控制器的片段:

-(UICollectionViewCell*) collectionView:(UICollectionView *)collectionView
                 cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    MyCustomCell *cell = 
        [collectionView dequeueReusableCellWithReuseIdentifier:@"myCustomCell"
                                                  forIndexPath:indexPath];
    cell.indexPath = indexPath;
    // TODO: other initialization for the cell
    return cell;
}
于 2014-07-07T22:46:34.293 回答