1

我有一个UITableViewCell带有 init 方法的子类:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {

        [self setBackgroundColor:[UIColor whiteColor]];
        [self.contentView setBackgroundColor:[UIColor whiteColor]];

        CGFloat xOffset = 10.0;
        CGFloat lineWidth = 1.0;
        UIView *footerLine = [[UIView alloc] initWithFrame:CGRectMake(xOffset,
                                                                      self.frame.size.height - lineWidth,
                                                                      self.frame.size.width - xOffset,
                                                                      lineWidth)];
        [footerLine setBackgroundColor:[UIColor redColor]];
        [footerLine setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin];
        [self addSubview:footerLine];
    }
    return self;
}

所以,我试图在单元格底部画一条线(在 x 方向上稍微偏移)。这在表格加载时效果很好,但是当我将设备旋转到横向然后再返回时,我松开了 footerLine 视图。

我觉得这与这条线有关:

[footerLine setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin];

但我搞砸了UIViewAutoresizing枚举的多种组合,我无法让它在轮换后重新出现。

有什么我可能会丢失的UIViewAutoresizing吗?

4

1 回答 1

3

我建议你在 cell.m 文件中添加

- (void)layoutSubviews{ 

//there you should define your size for your line 
//footer line can be recognized by tag or define in cell it is up to you


} 
于 2013-08-14T23:52:28.467 回答