在我的应用程序中,我正在根据其中的文本动态调整单元格大小并在其中标记。 我正在为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]?
有人可以帮忙吗?
提前致谢。
答案 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];