我想在调用 Action 时为UICollectionViewCell设置动画。
我已经在UICollectionViewCell中完成了Interface Builder,也在UICollectionView中完成了。
现在,我想通过自己的indexPath方法获取正确的actionBtnAddToCard

那就是我现在尝试的方式(ProduktViewCell.m中的方法):

- (IBAction)actionAddToCart:(id)sender {
    XLog(@"");

    // see this line
    NSIndexPath *indexPath = ??** how can i access the correct indexPath**??;
    SortimentViewController *svc = [[SortimentViewController alloc] initWithNibName:@"SortimentViewController_iPad" bundle:[NSBundle mainBundle]];
    [svc.collectionViewProdukte cellForItemAtIndexPath:indexPath];

    [svc collectionView:svc.collectionViewProdukte didSelectItemAtIndexPath:indexPath];
}

SortimentViewController是继承UICollectionView的viewController。
如何访问正确的indexPath?

更新1:为了更好地理解而对帖子进行了编辑。

最佳答案

如果您知道 View 层次结构,那很容易。

UIButton *button = (UiButton *) sender;

如果按钮像这样-> UITableViewCell->按钮

那么你可以得到像这样的细胞
UITableViewCell *cell = (UITableViewCell *)[button superview];

如果按钮像这样-> UITableViewCell->内容 View ->按钮
UITableViewCell *cell = (UITableViewCell *)[[button superview] superview];

最后可以像这样提取索引路径
NSIndexPath *indexPath = [self.table_View indexPathForCell:cell];

关于ios - 如何从UICollectionViewCell访问UICollectionView中单元格的indexPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13875428/

10-11 16:20