如何在iOS中使用autoresizingMask在UILabel上应用顶部边框

时间:2017-01-03 06:11:12

标签: ios uilabel calayer

我用xib文件构建了一个自定义的tableview。我添加了一个带有顶部边框的UILabel,顶部边框的代码是

UIView *topBorder = [UIView new];
topBorder.backgroundColor = [UIColor blackColor];
topBorder.frame = CGRectMake(0, 0, cell.nameOfImage.frame.size.width, 1);
[cell.nameOfImage addSubview:topBorder];

cell.nameOfImage.text = [tableData objectAtIndex:indexPath.row];

自动调整大小为enter image description here

但它的屏幕大小不同,如5s和6s plus。它没有以UILabel大小显示。在5s

enter image description here

并且在6s Plus中 enter image description here

标签上没有显示上边框。

1 个答案:

答案 0 :(得分:0)

您需要根据topBorder宽度更新cell.nameOfImage的宽度。将框架更改的代码移至layoutSubviews

<强>目标C

- (void)layoutSubviews {
    [super layoutSubviews];
    UIView *top = [[UIView alloc] init];
    topBorder.frame = CGRectMake(0.0, 0.0, nameOfImage.frame.size.width, 1.0)
}

<强>夫特

override func layoutSubviews() {
        super.layoutSubviews()
        topBorder.frame = CGRectMake(0, 0, nameOfImage.frame.size.width, 1);
    }