更新uitableview自定义单元格

时间:2011-08-02 12:39:25

标签: iphone uitableview custom-cell

如果你不像我一样盲目,我有一个问题可能相当容易。我有一个查看海关单元的tableview,它从数据源获取信息。在这个自定义单元格中,我有一个按钮,可以更改所有单元格的数据源。按下一个单元格中的按钮应该使所有其他单元格变暗。数据源已更改,但我的问题是,当我在表视图中拖动单元格时,单元格才会更新。按下按钮时的方法放在tableview中,以[tableview reloadData]结束;但它只会在拖动时更新。

感谢任何帮助

- Update-- 以下显示按下按钮时调用的方法。开关盒改变了数据源。 button.tag用于查看按钮按下的单元格。

-(void)myPackageButtonPushed:(id)sender
{
   UIButton* myButton = (UIButton*)sender;
   NSLog(@"id %d",myButton.tag);
   int test=myButton.tag;
   for (int i=0; i<[packageList count]; i++) {
        TVPackage *tvpack=[packageList objectAtIndex:i];
        [tvpack setMyPackage:NO];
    }

    switch (test) {
        case 0:
            NSLog(@"0");
            [[packageList objectAtIndex:0] setMyPackage:YES];
              [[packageList objectAtIndex:1] setMyPackage:YES];

            break;
        case 1:
            NSLog(@"1");
            [[packageList objectAtIndex:0] setMyPackage:YES];
            [[packageList objectAtIndex:1] setMyPackage:YES];
            break;
        case 2:
            NSLog(@"2");
            [[packageList objectAtIndex:2] setMyPackage:YES];
            [[packageList objectAtIndex:3] setMyPackage:YES];
            break;
        case 3:
            NSLog(@"3");
            [[packageList objectAtIndex:2] setMyPackage:YES];
            [[packageList objectAtIndex:3] setMyPackage:YES];
            break;
        case 4:
            NSLog(@"4");
            [[packageList objectAtIndex:4] setMyPackage:YES];
            [[packageList objectAtIndex:5] setMyPackage:YES];
            break;
        case 5:
            NSLog(@"5");
            [[packageList objectAtIndex:4] setMyPackage:YES];
            [[packageList objectAtIndex:5] setMyPackage:YES];
            break;
        default:
            break;
    }

    [self.tableview performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
    }

1 个答案:

答案 0 :(得分:0)

我没有正确设置Interface Builder和类之间的链接。 IB被设置为UIViewController而不是我的特定类。感谢您的帮助和时间。