【发布时间】:2014-05-20 21:24:04
【问题描述】:
如果您在尚未显示的视图上调用 [view snapshotViewAfterScreenUpdates:NO],您会得到:
对尚未渲染的视图进行快照会导致快照为空。确保您的视图在快照之前或屏幕更新后的快照之前至少渲染过一次。
这可以通过将参数更改为 YES 来解决,这是有道理的。通过 YES 会影响性能,除非尚未显示,否则我不需要“屏幕更新后”。有没有办法知道什么时候传入 NO 会导致该错误,以便我只能在那种情况下传入 YES?
我尝试了[查看 snapshotViewAfterScreenUpdates:view.layer.needsDisplay],但没有成功。
【问题讨论】:
-
您最好的选择可能是使用
UIViewController表示视图。在这种情况下,您将使用viewDidLoad或viewDidAppear。如果没有,您可以使用视图的委托方法,例如willMoveToSuperview或其他东西。然后在相应的方法中使用快照 API。