ios - 如何让 UINavigationController 在设置半透明属性时不更改其 View 大小?

标签 ios uinavigationcontroller uinavigationbar

我有一个应用程序,到目前为止,我一直在使用带有 UINavigationBar 的 UINavigationController,该 UINavigationBar 的属性为 translucent = YES。这意味着 UINavigationController 的内容 View (即来自您推送的 View Controller 的 View )是全屏的(减去状态栏)。

但是,如果你设置 navigationBar.translucent = NO,这个容器 View 会变短 44pt,因为我想 Apple 已经假设你不需要不透明的 navigationBar 下的任何内容。

...除非您正在做我们正在做的事情并且正在使用滚动的导航栏(请参阅 This Post on how to do that)所以我想知道这是否可能。

我想要 translucent = NO,但一切都表现得好像它仍然设置为 YES。我喜欢 translucent = YES 的功能,但实际上我不希望 UIKit 将栏变成半透明的。

最佳答案

对我有用的是添加 extendedLayoutIncludesOpaqueBars = trueviewDidLoad

像这样

override func viewDidLoad() {
   super.viewDidLoad()
   extendedLayoutIncludesOpaqueBars = true
}

希望它对你也有用

关于ios - 如何让 UINavigationController 在设置半透明属性时不更改其 View 大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13235476/

相关文章:

iphone - 核心数据 : How to design a tree data structure from one core data entry

ios - (Swift) 将数组存储和检索到 NSUserDefaults

uiviewcontroller - 如何在 Storyboard中的 View 之间导航而不使用导航栏或选项卡栏

ios - 弹出时 UIViewController EXC_BAD_ACCES 问题

ios - 将方法添加到UINavigationBar后退按钮?

uinavigationcontroller - UINavigationBar:添加具有移动效果的UILabel

ios - 旋转到横向时自动调整 UINavigationBar 的大小

ios - 如何使用 AVAssetReader 和 AVAssetWriter 控制视频帧率?

iOS 13 : Space grouping separator changed

ios - 如何在向下滚动时隐藏导航栏和工具栏? Swift(如 myBridge 应用程序)