隐藏导航栏和内容之间的分隔线
Posted
技术标签:
【中文标题】隐藏导航栏和内容之间的分隔线【英文标题】:Hide separtor line between navigationBar and Content 【发布时间】:2015-09-08 13:22:16 【问题描述】:我想删除这个连接(导航栏和 ImageView 橙色之间的线):
有人知道怎么做吗?
【问题讨论】:
我不认为你可以删除这一行,这是视图和导航控制器之间的分离。我建议隐藏导航并在视图本身中添加导航项,看起来和感觉就像整个视图。 ***.com/questions/18921082/… 【参考方案1】:就我而言,我实现了以下代码。
override func viewDidLoad()
super.viewDidLoad()
if self.navigationController != nil
hideBorder(self.navigationController!.navigationBar)
func hideBorder(view: UIView) -> Bool
if view.isKindOfClass(UIImageView.classForCoder()) && view.frame.size.height <= 1
view.hidden = true
return true
for sub in view.subviews
if hideBorder(sub as! UIView)
return true
return false
【讨论】:
【参考方案2】:修改AppDelegate
文件并添加以下代码:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
// Override point for customization after application launch.
// Change status bar color to white
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
// To remove separtor line between navigation controller and view
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
UINavigationBar.appearance().shadowImage = UIImage()
return true
【讨论】:
【参考方案3】:在viewWillAppear
中添加以下行
self.navigationController?.navigationBar.shadowImage = UIImage()
【讨论】:
【参考方案4】:for parent in self.navigationController!.navigationBar.subviews
for childView in parent.subviews
if(childView is UIImageView)
childView.removeFromSuperview()
【讨论】:
以上是关于隐藏导航栏和内容之间的分隔线的主要内容,如果未能解决你的问题,请参考以下文章