UIView从Nib加载,手动调用autolayout

时间:2015-02-20 14:45:59

标签: ios uiview autolayout nib

我需要从Nib加载UIView并将其渲染为PDF(它是一个发票)。所以我从Nib加载自定义UIView invoiceView并进行设置(在其中设置各种标签)。

设置标签后,我必须强制视图进行布局,以便各种UI元素正确调整大小/重新定位。

通话:

invoiceView.updateConstraints()

没有做任何事情。

通话:

invoiceView.layoutSubviews()

搞砸了一切。

这是我已经尝试过的事情:

  1. 设置invoiceView的框架(不会产生任何影响)。
  2. 设置框架并将invoiceView添加到当前视图层次结构中:

    self.view.addSubview(invoiceView)

  3. 正确设置所有内容。但是我不想这样做。我想强制视图正确布局(使用布局约束)。我究竟做错了什么?我应该在invoiceView上调用哪些方法,以便在不将其添加到当前视图层次结构的情况下正确布局?

    PS:代码已从内存中输入。请忽略错别字。

1 个答案:

答案 0 :(得分:1)

invoiceView.setNeedsLayout()
invoiceView.layoutIfNeeded()