我需要从Nib加载UIView并将其渲染为PDF(它是一个发票)。所以我从Nib加载自定义UIView invoiceView
并进行设置(在其中设置各种标签)。
设置标签后,我必须强制视图进行布局,以便各种UI元素正确调整大小/重新定位。
通话:
invoiceView.updateConstraints()
没有做任何事情。
通话:
invoiceView.layoutSubviews()
搞砸了一切。
这是我已经尝试过的事情:
invoiceView
的框架(不会产生任何影响)。设置框架并将invoiceView
添加到当前视图层次结构中:
self.view.addSubview(invoiceView)
正确设置所有内容。但是我不想这样做。我想强制视图正确布局(使用布局约束)。我究竟做错了什么?我应该在invoiceView
上调用哪些方法,以便在不将其添加到当前视图层次结构的情况下正确布局?
PS:代码已从内存中输入。请忽略错别字。
答案 0 :(得分:1)
试
invoiceView.setNeedsLayout()
invoiceView.layoutIfNeeded()