【发布时间】:2016-03-28 11:20:21
【问题描述】:
我创建了一个简单的项目来测试如何使 UINavigationBar 透明。在这个项目中,我有两个 UIViewController。第一个视图控制器显示一个大按钮,将第二个视图控制器推入导航控制器。
第二个视图控制器是一个 UIViewController,它包含一个 UICollectioView(它不是一个 UICollectionViewController)。
在应用委托中,我将此代码写入 application:didFinishLaunchingWithOptions
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: .Default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0)
UINavigationBar.appearance().translucent = true
它就像第一个 UIViewController 的魅力(导航栏是透明的),但是当我移动到另一个 UIViewController(使用 UICollectionView)时,导航栏不透明,当我回到以前的 UIViewController 时仍然不透明!
有什么建议吗?
PS:为了清楚起见,我的预期结果是,即使我向上滚动并且它们通过导航栏下方,我也想看到单元格。我不知道我是否清楚。
【问题讨论】:
-
Fabio,你的第二个视图控制器中没有什么东西(例如 viewDidLoad 中的代码),设置透明度吗?
-
@IanBell 不,没有。这是一个非常干净的项目,从头开始创建
-
@IanBell 需要明确的是,我的预期结果是,即使我向上滚动并且它们通过导航栏下方,我也希望看到单元格。我不知道我是否清楚。
-
你能展示一下你是如何移动到第二个视图控制器的代码吗?
-
@NitinGohel 没有代码。我只是在故事板上使用了segue。真正的基本项目,仅用于测试。
标签: ios swift uiviewcontroller uicollectionview uinavigationbar