渲染视图中的自动布局不更新其框架

问题描述:

我有一个从xib上创建的视图,其上有各种标签。我不会将此视图添加到我的屏幕,而是将其呈现在上下文中以创建UIImage,然后用户可以将其导出。渲染视图中的自动布局不更新其框架

该视图使用自动布局根据其内容重新定位标签。当我将这个视图添加到超级视图并将其显示在屏幕上时,所有内容都可以正确定位,但是如果我只是在上下文中呈现它,则不会应用任何自动布局约束;所有标签的尺寸都正好在原来的xib中。

如何使视图适用其约束?

我已经尝试没有成功如下:

view.translatesAutoresizingMaskIntoConstraints = FALSE; 
[view setNeedsUpdateConstraints]; 
[view setNeedsLayout]; 
[view setNeedsDisplay]; 
[view layoutSubviews]; 

只需使用layoutIfNeeded

[yourView layoutIfNeeded]; 

这将为您提供更新的帧。 translatesAutoresizingMaskIntoConstraints用于释放/抓住约束条件。你可以根据需要使用它。