我尝试在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];
但我的细胞宽度没有变化,为什么?
答案 0 :(得分:4)
表格视图在将细胞框架添加到表格视图时会更改细胞框架。如果要更改单元格的宽度,则应更改表格的宽度,或更改单元格中contentView的宽度。
答案 1 :(得分:1)
如果要更改单元格的高度,请实现委托方法tableView:heightForRowAtIndexPath:
。
如果你想改变宽度,那么你应该只在视觉上改变它(为所有细胞的子视图设置透明背景,除了不应该的那些),或者如果所有细胞的宽度相同,你可以改变整个桌子视图的宽度,正如@Jerry Jones所建议的......