我有一个简单的视图控制器,其视图(地图)固定在其超级视图上。视图嵌入在导航控制器上,但导航栏从iPhone X上的安全区域(状态栏下方)开始。理想情况下,我希望条形图位于状态栏下方(不在其下方),在渲染时iPhone X.我该怎么做呢?
这就是设置条形以使其半透明的方式:
//Design Set Up
let navBar = UINavigationBar.appearance()
navBar.setBackgroundImage(UIImage(), for: .default)
navBar.backgroundColor = UIColor(displayP3Red: 0, green: 0, blue: 0, alpha: 0.5)
答案 0 :(得分:1)
您应该将视图控制器嵌入UINavigationController
,而不是只使用UINavigationBar
。这样,您将自动获得带导航控制器的导航栏,它将完全延伸到屏幕顶部。
https://developer.apple.com/documentation/uikit/uinavigationcontroller
您可以在故事板中添加它,或者如果您正在使用代码,则可以:
let mapViewController = UINavigationController(rootViewController: MapViewController())
(假设您的地图名为MapViewController
)