我需要从 Nib 加载 UIView 并将其渲染为 PDF(它是发票)。因此,我从 Nib 加载自定义 UIView invoiceView
并对其进行设置(在其中设置各种标签)。
设置标签后,我必须强制 View 自行布局,以便各种 UI 元素正确调整大小/重新定位。
调用:
invoiceView.updateConstraints()
什么都不做。
调用:
invoiceView.layoutSubviews()
把一切都搞砸了。
这是我已经尝试过的:
- 设置
invoiceView
的框架(没有任何效果)。 设置框架并将
invoiceView
添加到当前 View 层次结构:self.view.addSubview(invoiceView)
正确设置一切。但是我不想这样做。我想强制 View 正确布局自身(使用布局约束)。我究竟做错了什么?我应该在 invoiceView
上调用哪些方法,以便正确布局而不将其添加到当前 View 层次结构?
PS:代码是靠内存打出来的。请忽略错别字。
最佳答案
尝试
invoiceView.setNeedsLayout()
invoiceView.layoutIfNeeded()
关于ios - 从 Nib 加载 UIView,手动调用 autolayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28631677/