UIView's snapshotViewAfterScreenUpdates :, determina si afterScreenUpdates necesita ser SÍ

Si llama a [view snapshotViewAfterScreenUpdates: NO] en una vista que aún no se ha mostrado, obtendrá:

Hacer una instantánea de una vista que no se ha representado da como resultado una instantánea vacía. Asegúrese de que su vista se haya representado al less una vez antes de la instantánea o la instantánea después de las actualizaciones de la pantalla.

Esto desaparece al cambiar el parámetro a SÍ, lo que tiene sentido. Pasar SÍ tiene un golpe de performance, y no necesito "después de actualizaciones de pantalla" a less que no se haya mostrado todavía. ¿Hay alguna manera de saber cuándo pasar NO va a causar ese error, de modo que pueda pasar SÍ solo en ese escenario?

Intenté [ver snapshotViewAfterScreenUpdates: view.layer.needsDisplay] , pero eso no fue así.

No creo que UIView exponga si tiene o no cambios no proporcionados. Por lo general, solo paso NO cuando sé (según el context) que la vista ya se ha mostrado, como al crear una instantánea para una vista que está por eliminarse.

debe ser YES para atender casos como, cuando su vista no ha completado sus animaciones o terminado la representación de los cambios (establecer un nuevo color de background) y el usuario ha realizado alguna acción que invoca la instantánea. Si está seguro de que su método de instantánea se invocará cuando su vista haya terminado de renderizarse o de que pueda permitirse una vista renderizada sin terminar de instantánea, puede configurarlo como NO