更新UITableViewCell子类布局

时间:2013-04-26 06:42:23

标签: ios objective-c cocoa-touch uitableview

如果我有UITableViewCellSubclass可以根据TypeATypeB改变布局。

我应该有一个[UITableViewCellSubclass initWithType:type]的初始值,每当类型更改时,我都会调用[tableView reloadRowsAtIndexPath:indexPathForUITableViewCellSubclass]

我跳过自定义初始化并实现-layoutSubviews-setType:,每当我需要更改单元格类型时,我都会通过调用[tableView cellForRowAtIndexPath:indexPath]然后调用来获取对单元格的引用[cell setType:TypeB]

- (void)setType:(Type)type {

    if (type == _type) return;
    _type == type;
    [self setNeedsLayout];
}

- (void)layoutSubviews {

    [super layoutSubviews];

    if (self.type == TypeA) {
        CGRect frame = foo;
        thing.frame = frame;
    }

    if (self.type == TypeB) {
        CGRect frame = bar;
        thing.frame = frame;
    }
}

编辑:我应该澄清一下,类型更改实际上并没有改变很多。只需更改指示单元格类型的图像。

0 个答案:

没有答案