是否可以接受按钮标签在某些范围iphone sdk

时间:2010-05-07 13:06:34

标签: iphone uitableview uibutton

在我的应用程序中,我正在根据其中的文本动态调整单元格大小并在其中标记。 我正在为uitableview中的单元格添加按钮。

我分别在新标签和按钮变量中选择标签实例和按钮实例,然后设置框架以在调整大小后正确排列它们。

     if(cel==nil)
     {
       //some code
       original_label=[[UILabel alloc]init];
       original_label.tag=111;

       //SOME MORE CODE GOES HERE

       original_button=[[UIButton alloc]init];
       original_button.tag=222;
       //SOME MORE CODE GOES HERE
     }

      new_label=(UILabel *) [cell viewWithTag:111];    //This' how I'm taking the label instance on cell and below button instance on cell in new variables
      new_button = (UIButton * ) [cell viewWithTag:222];

之前我将单元格上所有按钮的标签保持相同,因此更容易在单元格上正确获取按钮实例并正确排列。但现在我想分别识别这些按钮,因为我在button_click上添加了一些功能。我给出了添加到单元格增量标签[1,2,3 ... 9等]的按钮。现在,我如何在某些范围内使用这些按钮标签,如[假设1-9]?

有人可以帮忙吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以保持按钮标签与之前相同。

相反,在button_click方法中,找出按钮所在的行,如下所示:

- (void)button_click:(UIButton *)button
{
    UITableViewCell *cell = (UITableViewCell *)[[button superview] superview];
    NSIndexPath *indexPath = [tableView indexPathForCell:cell];

    //code to handle this indexPath.section and indexPath.row...
}

这假设您已将按钮添加到cell.contentView,这是第一个superview获取的内容。第二个超级视图获取单元格。

按钮的addTarget应如下所示(注意button_click后的冒号):

[original_button addTarget:self action:@selector(button_click:) forControlEvents:UIControlEventTouchUpInside];