0

我遇到了 AutoLayout 和 layoutSubviews 的问题

我正在使用 iOS9 SDK Beta

我的动态内容标签之一具有彩色背景,因此我需要为间距添加自定义宽度。

屏幕截图 1(第一次加载时看起来不错) 第一次加载看起来不错 屏幕截图 2(开始滚动时出现问题。自定义宽度有时不起作用。) 滚动时出现问题 这是我在自定义 UITableViewCell 中使用的代码块

- (void)layoutSubviews;
{
    [super layoutSubviews];
    [lblTransactionType sizeToFit];
    CGRect rect = lblTransactionType.frame;
    [lblTransactionType setFrame:CGRectMake(rect.origin.x-5, rect.origin.y, rect.size.width+10, 18)];
}

我想我应该使用动态约束,但是如何?

任何形式的帮助都非常感谢。

谢谢。

4

1 回答 1

0

尝试将您的 UILabel 子类化并添加如下行:

- (void)drawTextInRect:(CGRect)rect {
    UIEdgeInsets insets = {0, 5, 0, 5};
    [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}

它将为您的 UILabel 添加填充,因此无需在 layoutSubviews 方法中更改框架。

于 2015-09-03T09:39:32.097 回答