【发布时间】:2015-09-08 13:22:16
【问题描述】:
【问题讨论】:
-
我不认为你可以删除这一行,这是视图和导航控制器之间的分离。我建议隐藏导航并在视图本身中添加导航项,看起来和感觉就像整个视图。
标签: ios swift uiview uinavigationcontroller uinavigationbar
【问题讨论】:
标签: ios swift uiview uinavigationcontroller uinavigationbar
就我而言,我实现了以下代码。
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
}
【讨论】:
修改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
}
【讨论】:
在viewWillAppear 中添加以下行
self.navigationController?.navigationBar.shadowImage = UIImage()
【讨论】:
for parent in self.navigationController!.navigationBar.subviews {
for childView in parent.subviews {
if(childView is UIImageView) {
childView.removeFromSuperview()
}
}
}
【讨论】: