右边的
图片是我需要的,左边是我得到的:
1
我正在尝试制作一个透明的导航栏,在我正在阅读的书中写道,您需要做的就是在首选视图控制器的 viewDidLoad(( 方法中插入此代码:
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.tintColor = .white
tableView.contentInsetAdjustmentBehavior = .never
但我得到的只是一个白色导航栏。另外,如果写下图片上条形的差异在此代码中:
tableView.contentInsetAdjustmentBehavior = .never
但它对我不起作用
我下载了本书章节的最终项目,那里一切正常,尽管我尝试复制粘贴代码但仍然没有任何变化
问题是 - 我已经尝试插入此代码:
navigationController?.navigationBar.isTranslucent = true
但它不起作用
如果重要的话,这本书是AppCoda的"开始iOS 11编程">
使用以下
代码:
navigationController?.navigationBar.isTranslucent = true
希望对您有所帮助。
编辑(更新(
使用以下代码:
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = false
更新 2
override func viewDidAppear(_ animated: Bool) {
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = true
navigationController?.navigationBar.tintColor = .red
}
它必须是工作。
检查此代码
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
}
override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = false
}