我有一個自定義單元格,其中有一個UIButton
和一個UITextField
。現在,當我點擊按鈕我想要捕獲indexpath.row
在didDeselectRowAtIndexPath
。但是當我點擊按鈕didDeselectRowAtIndexPath
沒有被調用。我知道按鈕會捕獲點擊。但很想知道任何解決方法?任何聰明的方式傢伙。如何從UIButton cell item調用didDeselectRowAtIndexPath iOS
請指導
謝謝。
我有一個自定義單元格,其中有一個UIButton
和一個UITextField
。現在,當我點擊按鈕我想要捕獲indexpath.row
在didDeselectRowAtIndexPath
。但是當我點擊按鈕didDeselectRowAtIndexPath
沒有被調用。我知道按鈕會捕獲點擊。但很想知道任何解決方法?任何聰明的方式傢伙。如何從UIButton cell item調用didDeselectRowAtIndexPath iOS
請指導
謝謝。
沒有必要從按鈕單擊事件調用didSelect方法嘗試在您- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
指標只是設置按鈕標籤indexPath.row,如:
cell.btnInvite.tag=indexPath.row;
[cell.btnInvite addTarget:self action:@selector(btnCommentClick:) forControlEvents:UIControlEventTouchUpInside];
-(void)btnCommentClick:(UIButton*)sender
{
NSLog(@"frined add %d",sender.tag); //now do you stuff that you want you have selected cell index as a button tag.
}
添加按鈕的目標
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//Continue with your code...
[cell.actionButton addTarget:self action:@selector(didTapButton:) forControlEvents:UIControlEventTouchUpInside];
}
- (void)didTapButton:(id)sender {
// Cast Sender to UIButton
UIButton *button = (UIButton *)sender;
// Find Point in Superview
CGPoint pointInSuperview = [button.superview convertPoint:button.center toView:self.tableView];
// Infer Index Path
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:pointInSuperview];
NSLog(@"%d", indexPath.row);
}
看看我對上述評論的回覆。 – LUI
您可以使用按鈕的標籤屬性來獲取索引路徑。 – suhit
@suhit看看我的回覆下面的評論。 – LUI
你可以使用委託協議方法來執行viewController中的動作 –