如果您在一个未被显示的视图上调用 [view snapshotViewAfterScreenUpdates:NO],您会得到以下结果:
我尝试过 [view snapshotViewAfterScreenUpdates:view.layer.needsDisplay],但没有成功。
通过将参数改为 YES 可以解决这个问题,这也是有道理的。 传递 YES 会降低性能,并且我只需要在尚未显示时使用“after screen updates”。是否有一种方法可以知道传递 NO 会导致该错误的情况,以便我只在这种情况下传递 YES?对尚未渲染的视图进行快照操作将导致空白的快照。请确保您的视图至少已经渲染了一次再进行快照或者在屏幕更新后再进行快照。
我尝试过 [view snapshotViewAfterScreenUpdates:view.layer.needsDisplay],但没有成功。
UIViewController
来创建该视图。在这种情况下,你可以使用viewDidLoad
或viewDidAppear
方法。如果不行的话,你可以使用视图的代理方法,例如willMoveToSuperview
等。然后在相应的方法中使用快照 API。 - esh