【发布时间】:2015-08-26 03:45:01
【问题描述】:
问题:
我在UINavigationController 中嵌入了一个UITableViewController。在表格视图中按下一个单元格会切换到另一个表格视图控制器。在所述表格视图控制器中,我希望导航栏不可见,同时仍保留标签栏项目,因此我将以下内容添加到其viewDidLoad():
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.tintColor = .black
对于第一个 UITableViewController,我希望导航栏正常,所以在其viewDidAppear() 中我做了以下操作:
self.navigationController?.navigationBar.isTranslucent = false
除了在过渡期间(我通过performSegueWithIdentifier 进行)之外,一切都运行良好,第一个视图控制器上的导航栏消失在黑色中,说实话看起来很难看。有什么方法可以防止/解决这个问题?
截图:
【问题讨论】:
-
你找到答案了吗?
-
产生的解决方案会导致许多其他问题,因为它们解决了问题,但不是 edgeForExtendedLayout 的用途。也许将应用程序窗口的背景颜色更改为适合应用程序的颜色会更好:'''self.window?.backgroundColor = .white''' in app delegate。
标签: ios swift uinavigationcontroller uinavigationbar