iOS16 屏幕强制旋转推出了新的API requestGeometryUpdateWithPreferences,
于是便着手适配,但是过程中发现,直播页面第一次进入手动全屏时,很诡异发生屏幕旋转至横屏后立马旋转回竖屏。断点后百思不得其解 viewWillTransitionToSize: 被调用两次。
于是写Demo去测试,在测试Demo中偶然发现,在手机处于某个方向,去调用requestGeometryUpdateWithPreferences 并且参数也是该方向时,viewWillTransitionToSize: 不会被响应。
第二次再去调用 requestGeometryUpdateWithPreferences 参数给到不同方向,这个时候 viewWillTransitionToSize: 则会被响应两次,也就是携带第一次不响应的回调。
这正如同项目中发生的情况。所以果断屏蔽同方向下的调用,之前的问题随之得到解决😄。
DEMO
注释红框的代码就能感受BUG了😄
提问关注