我创建了一个表格视图,并使用 FOR 循环向单元格动态添加了按钮。我也设置了标签。但问题是当我滚动表格视图时按钮的标签值正在改变。
有人可以告诉我如何纠正这个问题。
我创建了一个表格视图,并使用 FOR 循环向单元格动态添加了按钮。我也设置了标签。但问题是当我滚动表格视图时按钮的标签值正在改变。
有人可以告诉我如何纠正这个问题。
不要使用 for 循环。就放
yourbtn.tag=indexpath.row
在 cellforrowAtIndexPath 方法中
不要使用 for 循环在表格视图单元格上创建按钮。
在 cellForRowAtIndexPath 中像这样创建按钮
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(100, 2, 100, 40)];
btn.tag = indexpth.row ;
[btn setTitle:@"button" forState:UIControlStateNormal];[btn addTarget:selfaction:@selector(btnTouched:)forControlEvents:UIControlEventTouchUpInside];[btn release];
-(IBAction)btnTouched:(UIButton*)sender
{
switch (sender.tag)
{
case 0:{// This is 0 tag button do something here
} break;
case 1:
{
// This is 1 tag button do something here
} break;
}
它们正在发生变化,因为表格视图正在重用 uitablewviewcells。另外,看看这个链接