代码之家  ›  专栏  ›  技术社区  ›  John Smith

带UIButton的UITableViewCell

  •  2
  • John Smith  · 技术社区  · 14 年前

    我有包含一些uibutton的UITable。我想用这个标签。

    我的问题是我需要 标记标签,用于检索tableviewCellWithReuseIdentifier和configureCell中的单元格。

    现在我需要使用一些可见文本的标题。我怎么还能找到哪一排被压了?

    未选择行索引路径 被称为。困难的是我想捕获两个UIButton(它调用自己的选择器) 这一排,我从标题中找到的。现在我还需要一个头衔。

    4 回复  |  直到 14 年前
        1
  •  9
  •   Matthias Bauch    11 年前

    我用这种东西。这将获得tableview中的indexpath。

    - (IBAction)buttonAction:(id)sender {
        UIButton *button = (UIButton *)sender;
        CGPoint buttonOriginInTableView = [button convertPoint:CGPointZero toView:tableView];
        NSIndexPath *indexPath = [tableView indexPathForRowAtPoint:buttonOriginInTableView];
    
        // do something
    }
    
        2
  •  0
  •   Ben    14 年前

        3
  •  0
  •   aegzorz    14 年前

    你应该实施 UITableViewDelegate 协议。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        // Do something based on selected row (indexPath.row)
    }
    
        4
  •  0
  •   Pavan    14 年前

    实现UITableViewDelegate协议。它会帮助你做你需要的事。

    didSelectRowAtIndexPath 每当在表中选择行时自动调用。

    在.m文件中,如果没有表视图控制器,请添加以下方法:

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
       // NSInteger row = [indexPath row];
       // or (indexPath.row)
       // do whatever you like with this value which tells you which row is selected.
    
    }