右边的图片是我需要的,左边是我得到的:
我试图制作一个透明的导航栏,在我正在阅读它的书中,您需要做的就是在viewDidLoad()方法中插入此代码最好的视图控制器:
For i=1 To 10
arr(i,1) = i
Next
但我得到的只是一个白色导航栏。 此外,如果写了图片上的条形差异在这段代码中:
navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.tintColor = .white
tableView.contentInsetAdjustmentBehavior = .never
但它对我不起作用
我下载了本书的最后一个项目的章节,一切都运行良好,虽然我已经尝试复制粘贴代码但仍然没有改变
事情是 - 我已经尝试插入此代码:
tableView.contentInsetAdjustmentBehavior = .never
但它不起作用
如果重要的话,这本书是"开始iOS 11编程"通过AppCoda
答案 0 :(得分:5)
使用以下代码:
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
}
必须有效。
答案 1 :(得分:0)
检查此代码
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
}