我正在使用自定义单元格制作一个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中添加自定义分隔符时,单元格的框架会引发问题。