簡體   English   中英

我如何知道點擊UItableview中的Cell按鈕

[英]how do i know what Cell's button in UItableview clicked

我有一個UITableView與自定義Cell(UITableViewCell的子類)。 每個單元格視圖都有兩個按鈕btn1和btn2。 我設置我的ViewController來處理那些btn1s的TouchUp Inside。

如何知道點擊了哪個單元格按鈕?

我在上面放了一個標簽屬性。 假設左邊的標記為1,右邊的標記為2.所有UIView都有標記屬性,它只是一個整數值。

@property (nonatomic) NSInteger tag;

然后,當您收到按鈕時,您可以詢問按鈕的標簽是什么 - 1或2,您將知道它是哪個按鈕。

如果你想知道那個按鈕所屬的索引路徑,你可以抓住按鈕的superview,它應該是單元格,或者按鈕的superview的superview,如果你把它放在單元格的內容視圖上(通常你應該這樣):

UITableViewCell *cell = (UITableViewCell *)[button superview];
NSIndexPath *pathForSelectedButton = [tableView indexPathForCell:cell];

請注意,上面的代碼假定按鈕直接放在單元格上。

UIButton有一個標簽屬性。 您可以為每個按鈕設置唯一值,例如indexPath.row * 2和indexPath.row * 2 + 1(如果只有一個部分)。

然后您可以為每個按鈕添加目標方法。

[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]

最后,實現buttonPressed方法

- (void)buttonPressed:(UIButton *)sender {
    NSInteger tag = sender.tag;
    // your code here.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM