when a view controller that is deep nested under some exotic view hierarchy (e.g., react native component view) presents a view controller w/ hero transition and modalPresentationStyle set to overFullScreen (or formSheet or automatic for regular height size class) in which case the presenting view controller's view will not removed from the view hierarchy but instead shown beneath the presented view controller, and then dismiss the presented view controller, the presenting view controller's view leaks.
when a view controller (denoted as A), which is presented with modalPresentationStyle set to overFullScreen (or formSheet or automatic for regular height size class), itself presents another fullScreen (or formSheet or automatic for compact height size class) view controller (denoted as B) w/ hero transition enabled. After the presented view controller B is dismissed, the view controller A's frame will be changed to be full screen, what's worse, cannot be dismissed by using pan gesture.
Try to fix a well-known issue mentioned at https://github.com/HeroTransitions/Hero/issues/644:
modalPresentationStyle
set tooverFullScreen
(orformSheet
orautomatic
for regular height size class) in which case the presenting view controller's view will not removed from the view hierarchy but instead shown beneath the presented view controller, and then dismiss the presented view controller, the presenting view controller's view leaks.A
), which is presented withmodalPresentationStyle
set tooverFullScreen
(orformSheet
orautomatic
for regular height size class), itself presents anotherfullScreen
(orformSheet
orautomatic
for compact height size class) view controller (denoted asB
) w/ hero transition enabled. After the presented view controllerB
is dismissed, the view controllerA
's frame will be changed to be full screen, what's worse, cannot be dismissed by using pan gesture.