改变uitableviewcell的宽度

时间:2010-08-23 19:09:32

标签: iphone objective-c uitableview

我尝试在tableview中更改单元格的内容,我不做自定义单元格,我只是将uitableviewcell子类化。

这是班级

@implementation customCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {

    if (self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]) {

        CGRect nouveauframe = CGRectMake(0.0, 0.0, 44,44);

        self.frame = nouveauframe;

    }
    return self;
}

-(void)dealloc
{

    [super dealloc];
}

@end

这是我在cellForRowAtIndexPath:

中创建我的单元格
static NSString *CellIdentifier = @"customCell";

customCell *cell = (customCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {
    cell = [[[customCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
}

// Configure the cell...

[[cell textLabel]setText:[[[[Mission singletonMission] getObjectDataHistoireEncours] objectAtIndex:indexPath.row] valueForKey:[[langue singletonLangue] valeurBalise: @"_nom_label"]]];

cell.detailTextLabel.text = [[[[Mission singletonMission] getObjectDataHistoireEncours] objectAtIndex:indexPath.row] valueForKey:[[langue singletonLangue] valeurBalise: @"_valeur"]];

cell.userInteractionEnabled = FALSE;

retour = [cell retain];

但我的细胞宽度没有变化,为什么?

2 个答案:

答案 0 :(得分:4)

表格视图在将细胞框架添加到表格视图时会更改细胞框架。如果要更改单元格的宽度,则应更改表格的宽度,或更改单元格中contentView的宽度。

答案 1 :(得分:1)

如果要更改单元格的高度,请实现委托方法tableView:heightForRowAtIndexPath:

如果你想改变宽度,那么你应该只在视觉上改变它(为所有细胞的子视图设置透明背景,除了不应该的那些),或者如果所有细胞的宽度相同,你可以改变整个桌子视图的宽度,正如@Jerry Jones所建议的......