0

didSelectRowAtIndexPathのセル内でクリックしたUIButtonのカスタム関数を呼び出す方法を教えてもらえますか?私はtableViewCellにショッピングカートのボタンを持っています。クリックすると、アイコンを変更して、うまく動作するショッピングカートのリストを維持しています。しかし、私が達成しようとしているのは、ユーザが任意の行をクリックしたときに、UIButtonのこの機能も同様に使用できることです。didSelectRowAtIndexPathでカスタムUIButton関数を呼び出す

私はcellForRowAtIndexPathで次のコードを書かれている

cell.addToCardButton.tag = indexPath.row; 
[cell.addToCardButton addTarget:self action:@selector(CartTapped:) forControlEvents:UIControlEventTouchUpInside]; 

//cartTapped function defination 
- (void)CartTapped:(UIButton*)sender { 
    NSUInteger index = sender.tag; 
    Product *product = [results objectAtIndex:index]; 
    NSIndexPath *ip = [NSIndexPath indexPathForRow:index inSection:0]; 

    if(sender.selected) { 
     UIImage *btnImage = [UIImage imageNamed:@"AddCart.png"]; 
     [sender setImage:btnImage forState:UIControlStateNormal]; 
     [BasketObjects delete:product] ; 

    } else { 

     sender.imageView.image =[UIImage imageNamed:@"ClearCart.png"]; 
     [[BasketObjects sharedInstance].basketObjects addObject:product]; 
    } 

    [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:ip] withRowAnimation:UITableViewRowAnimationMiddle]; 
} 

答えて

0

あなたは関係なく、同じアクション/メソッドを実行しないように場所をユーザー(セルまたはボタン)をタップしますよろしいですか?あなたは正しいことを理解しましたか?もしそうなら、パラメータとしてindexpathを渡すメソッドを作成し、ボタンを作成しないでください。UIImageViewだけです。

関連する問題