用 clipsToBounds 隐藏 NavigationBar 边框/阴影会在 Swift 中丢失状态栏?
Posted
技术标签:
【中文标题】用 clipsToBounds 隐藏 NavigationBar 边框/阴影会在 Swift 中丢失状态栏?【英文标题】:Hiding NavigationBar border/shadow with clipsToBounds loses status bar in Swift? 【发布时间】:2015-06-18 04:59:55 【问题描述】:所以我一直在拼命尝试隐藏导航栏底部边框/阴影。我已经完成了所有我能得到的 SO 答案,但没有一个是正确的。
将 navBar 背景和阴影图像设置为空 uiimage 什么都不做:
navigationController?.navigationBar.setBackgroundImage(UIImage(named: ""), forBarPosition: UIBarPosition.Any, barMetrics: UIBarMetrics.Default)
navigationController?.navigationBar.shadowImage = UIImage(named: "")
设置 clipsToBounds 或 maskToBounds = true 有效,但我失去了顶部的状态栏,当使用相同的 navController 推送到下一个 VC 时,我得到一个黑色的状态栏。
navigationController?.navigationBar.layer.masksToBounds = true
或
navigationController?.navigationBar.clipsToBounds = true
在 appDelegate 中的设置也不起作用:
UINavigationBar.appearance().backIndicatorImage = UIImage(named: "")
UINavigationBar.appearance().shadowImage = UIImage(named: "")
我在 ios 8 上使用 Swift。感谢您提供任何其他建议!
【问题讨论】:
是的,我也试过了,还是不行。 【参考方案1】:self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
【讨论】:
以上是关于用 clipsToBounds 隐藏 NavigationBar 边框/阴影会在 Swift 中丢失状态栏?的主要内容,如果未能解决你的问题,请参考以下文章