iosibactionuicollectionviewnsindexpathuicollectionviewcell

how to access from UICollectionViewCell the indexPath of the Cell in UICollectionView


i want to animate the UICollectionViewCell when action is called.
i have done UICollectionViewCell in Interface Builder, the UICollectionView also. Now i want to get the correct indexPath at my actionBtnAddToCard method.

thats the way i try it now (method in 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 is the viewController which inherits the UICollectionView.
how to acces the correct indexPath?

UPDATE 1: edited post for better understanding.


Solution

  • if you know the view hierarchy it is easy.

    UIButton *button = (UiButton *) sender;
    

    if the button is like this - > UITableViewCell - > button

    then you can get cell like this

    UITableViewCell *cell = (UITableViewCell *)[button superview];
    

    if the button is like this - > UITableViewCell - > content view -> button

    UITableViewCell *cell = (UITableViewCell *)[[button superview] superview];
    

    and finally index path can be extracted like this

    NSIndexPath *indexPath = [self.table_View indexPathForCell:cell];