将自定义单元格宽度调整为tableview框架

时间:2015-01-20 21:56:25

标签: ios uitableview

我正在使用自定义单元格制作一个tableview。但自定义单元格宽度永远不会使用tableview框架进行调整,并使用不同的设备进行测试。有没有人可以帮忙。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    customTableViewCell * cell = (customTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell"];

if (cell == nil) {
    NSArray * nib = [[NSBundle mainBundle] loadNibNamed:@"customTableViewCell" owner:self options:nil];
    cell = [nib objectAtIndex:0];
}
    cell.frame = CGRectMake(0, 0, tableView.frame.size.width, 30);
    NSLog(@"tableview width: %f",tableView.frame.size.width);
    NSLog(@"cell width :%f" ,cell.frame.size.width);
    return cell;        
}

此处单元格框架与表视图相同。

但是!在customTableViewCell.m,awakeFromNib中,框架仍然与xib相同。 PS:我不想改变xib,因为我需要适应不同的设备。

-(void)awakeFromNib
{
    NSLog(@"%f awake from nib called",self.frame.size.width);
    self.autoresizingMask = UIViewAutoresizingFlexibleWidth;

    self.customLine = [[UIView alloc] initWithFrame:CGRectMake(40, self.contentView.frame.size.height - 1.0, self.contentView.frame.size.width, 1)];

    self.customLine.backgroundColor = [UIColor darkGrayColor];
    [self.contentView addSubview:self.customLine];
}

所以我们有问题,当我想在awakeFromNib中添加自定义分隔符时,单元格的框架会引发问题。

0 个答案:

没有答案