gpt4 book ai didi

ios - Container View 好像有 UINavigationBar 一样被下推?

转载 作者:IT老高 更新时间:2023-10-28 11:38:37 25 4
gpt4 key购买 nike

我有一个带有容器 View 的 UIViewController。这个容器 View 包含一个 UITableViewController。

UIViewController 嵌入在 UINavigationController 中。我通过更改色调颜色、条色调颜色和标题文本属性来配置 NavigationBar,但是当我尝试更改半透明度时出现问题。我通过删除所有其他自定义代码来挑出问题。每当我在 UIViewController 的 -viewDidLoad 中执行此操作时:

self.navigationController.navigationBar.translucent = NO;

Container View 在自身顶部添加了一些空间,就好像它有自己的导航栏一样。每当我将半透明设置为 YES 时, View 都会正确显示所有内容。每当我将 translucent 设置为 NO 时,这只发生在包含的 View 上。

这里有什么我遗漏的吗?

我尝试在包含的 View 上将半透明设置为 YES 并将其设置为隐藏,但没有任何效果。不知何故,包含的 View 继承了父容器的属性?每当我将半透明设置为 NO 时,如何避免在包含的 View 上创建这个额外的空间?

我希望设置半透明只影响半透明,而不影响 View 的位置。

当半透明 = YES

+---------------------------------+
| |
| UINavigationBar |
| |
+---------------------------------+
| |
| |
| |
| |
| |
| UITableViewController |
| in a Contained View |
| |
| |
| |
| |
| |
| |
+---------------------------------+

半透明时 = 否

+---------------------------------+
| |
| UINavigationBar |
| |
+---------------------------------+
| |
|blank space created on top of view
| |
+---------------------------------+
| |
| |
| |
| |
| |
| |
| UITableViewController |
| in a Contained View |
| |
+---------------------------------+

附:我的观点比这更复杂,我只是在简单化。

最佳答案

您在这里缺少的是一个半透明的导航栏位于您的 View Controller 的 View 之上,而一个非半透明的导航栏将您的 View Controller 的 View 向下推(有效地调整它的大小)。

所以这里发生的情况是,对于半透明导航栏,空白区域实际上隐藏在栏下方,而当栏不透明时,它被“向下推”。

有很多方法可以解决,主要取决于您是否使用自动布局。

关于ios - Container View 好像有 UINavigationBar 一样被下推?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com