每次滚动表视图时,按钮的标记值都在变化

时间:2013-09-17 12:08:50

标签: ios objective-c

我创建了一个表视图,并使用FOR循环动态地向单元格添加了按钮。我也设置了标签。但问题是当我滚动表格视图时按钮的标签值正在改变。

有人可以告诉我如何纠正这个问题。

3 个答案:

答案 0 :(得分:0)

不要用于循环。只是把

yourbtn.tag=indexpath.row

in cellforrowAtIndexPath方法

答案 1 :(得分:0)

不要使用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;
        }

答案 2 :(得分:0)

它们正在改变,因为表视图正在重用uitablewviewcells。另外,请查看此link