UITableView中的动态按钮标题

时间:2014-07-15 08:43:11

标签: ios objective-c uitableview button

我尝试在每个单元格上显示带有按钮的tableView。每个按钮的标题是一个变量(一个ID),以保持这个值。

NSString *valuebutton = [NSString stringWithFormat:@"%@", [contactInfoDict objectForKey:@"idparse"]];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(cell.frame.origin.x, cell.frame.origin.y + 12, 300,35);
[button addTarget:self action:@selector(customActionPressed:) forControlEvents:UIControlEventTouchUpInside];
button.backgroundColor= [UIColor clearColor];
[button setTitle:valuebutton forState:UIControlStateNormal];
[cell.contentView addSubview:button];
    return cell;

当我尝试在设备上滚动tableview时,按钮的值会发生变化,我可以看到它在实时修改。

你以前看过这个问题吗?

感谢您的帮助!

亚历。

1 个答案:

答案 0 :(得分:0)

没有更多细节,很难调试。但是,如果您使用动态单元格,那么任何屏幕外单元都可以被回收。如果使用静态单元格,则保留任何屏幕外单元格(不再循环使用)。重用屏幕外单元(假设您使用的是动态单元格)可能会产生您描述的行为。如果您的cellForRowAtIndexPath方法有问题,那么这也可能是个问题。请分享该代码。

另外,查看初始代码,您可能需要考虑包含IB中按钮的动态原型单元格。然后您需要做的就是引用cellForRowAtIndexPath中的单元格,抓住单元格的按钮并通过单元格indexPath设置其标题(即单元格0获取标题0,单元格1获取标题1等) - 将为您节省一个一点代码。