首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏UITabbar时,不会更新SafeArea插入

隐藏UITabbar时,不会更新SafeArea插入
EN

Stack Overflow用户
提问于 2020-02-28 13:49:27
回答 1查看 442关注 0票数 4

我使用的是基于标签栏的应用程序,在细节屏幕上,标签栏是隐藏的。问题是,当标签栏被隐藏时,它仍然会占据标签栏和safeAreaLayoutInsets不更新的空白区域。在方向改变或从背景移动到前景时,它将起作用。

代码语言:javascript
复制
self.tabBarController.tabBar.hidden = YES;

视图层次结构

代码语言:javascript
复制
UITabbarController
  |--UISplitViewController
     |--UIViewController (first VC)
        |--UINavigationController
           |--UIViewController (second VC)

该问题与Apple Forum中报告的问题类似

EN

回答 1

Stack Overflow用户

发布于 2021-08-17 07:38:01

如果需要切换可见视图的选项卡栏可见性,此解决方法可修复布局:

代码语言:javascript
复制
let currentFrame = tabBarController.view.frame
tabBarController.view.frame = currentFrame.insetBy(dx: 0, dy: 1)
tabBarController.view.frame = currentFrame

此代码应在选项卡栏可见性更改后立即执行。它触发安全区域的更新和视图的单个布局过程。用户看不到frame的大小调整。

这是一种变通方法,当然不是很好,但它对我们有效,而且似乎没有负面影响。此外,我不希望将来iOS自行更新布局时会有负面影响。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60445940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档