gpt4 book ai didi

swift - 推送 View Controller 时如何修复半透明标签栏中的黑色背景

转载 作者:行者123 更新时间:2023-11-28 13:28:54 24 4
gpt4 key购买 nike

我在使用半透明标签栏时遇到了问题。我有一个 UITabBarController 嵌入了一个 UINavigationController,它有一个简单的 UIViewController 作为它的根。正如我所说,TabBar 是半透明的。

当我尝试将 View Controller 推送到导航 Controller 堆栈时,转换在选项卡栏下被切断。

并且在过渡完成后,推送 View Controller 的背景颜色设置在半透明标签栏下(红色仅适用于此示例)

是的,我可以将 tabControllers View 的 backgroundColor 设置为 f.i。红色并覆盖黑色,但它仍然会被切碎。

我发现了很多此类问题,但通常解决方案是“从 Storyboard实例化”,但我不使用 Storyboard,也没有找到任何有效的解决方案

代码没有什么特别之处,它只是对导航 Controller 的简单插入。

let diningDetailController = DiningDetailController()

navigationController?.pushViewController(diningDetailController, animated: true)

DiningDetailController:

import UIKit

class DiningDetailController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

view.backgroundColor = .red
}
}

您可以在附加的 gif 中看到它的实际外观,我认为您可以想象它的行为方式。红色 View Controller 应该顺利进入半透明栏后面

没有半透明它当然可以完美工作,因为你看不到那个该死的栏后面是什么,但栏应该是半透明的。

我希望你们中的任何人都知道这个问题的解决方案。提前致谢

最佳答案

好的,我发现了问题。显然这是某种缓存构建的东西,我真的不知道,但在 gif 中你可以看到, TableView 底部约束被捕捉到 View 的底部约束。

为了尝试,我使用了 View 底部安全区域布局指南,以便表格 View 的底部 anchor 与选项卡栏的顶部 anchor 对齐。我构建了它,显然没有任何问题,因为 View 不再位于选项卡栏后面。

当我再次改回使用 self.view.bottomAnchor 的约束时,由于我不知道的原因,它起作用了。我三次检查了我的 git status,代码库中没有一个字符被更改。

这是否可能是由某些缓存数据引起的?

关于swift - 推送 View Controller 时如何修复半透明标签栏中的黑色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57827712/

24 4 0