0

我目前正在使用自定义演示控制器,该控制器在演示期间使用缩放和平移变换,并在解雇期间将其删除。每当在呈现 VC 时发生某些系统操作(例如关闭 NC、点击状态、进入多任务屏幕或移动到另一个应用程序然后返回),主 VC 会布置其子视图,就好像没有状态栏存在一样. 然后当我解散顶级VC时,主VC的顶部内容与状态栏发生冲突。我之前尝试过一些方法来重置它(在主 VC 视图和我的应用程序窗口上调用 setNeedsLayout 和 layoutIfNeeded),但它们没有用。但是有效的方法(如视频中解雇结束后 2 秒所见)正在删除主 VC 的视图并将其添加到其超级视图中,

我的问题是,是否有它的布局,就好像解雇期间状态栏在那里一样?由于主题更改,我目前在演示和解雇阶段直接使用我的视图。这是该行为的视频

目前,我可以通过在顶部安全区域约束(通常使用的)和附加到 VC 视图顶部的另一个顶部约束之间切换活动来防止我的自定义导航栏发生这种情况,其高度为常数状态栏。我在主 VC 视图的删除和添加到其父视图之间执行此切换。这也是一个视频

问题仍然是表格视图的插图。由于我无法确定何时忽略状态栏(查询状态栏的高度总是返回正确的值,即使它明显被忽略),我无法正确更新插图,也无法隐藏它们的周期性错误像我可以为导航栏设置的限制。

4

0 回答 0