Я пытаюсь добавить тень к моей (пользовательской) навигационной панели, когда пользователь прокручивает, используя scrollViewDidScroll
, но ничего не делает.У меня такой же точный код на другом контроллере представления, но он имеет tableView
вместо WKWebView
и работает нормально.
Я попытался добавить webView.scrollView.delegate = self
, но у меня просто появляется ошибка.
Мой код:
class ViewController: UIViewController {
@IBOutlet weak var webView: WKWebView!
@IBOutlet weak var navBar: UIView!
override func viewDidLoad() {
super.viewDidLoad()
addShadow()
loadHtmlFile()
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let navigationBar = navBar
let offset = scrollView.contentOffset.y / 10
if offset > 1.5 {
navigationBar?.layer.shadowOpacity = 0.15
} else {
navigationBar?.layer.shadowOpacity = Float(((3 * offset) / 20)/1.5)
}
print(offset)
}
func addShadow() {
navBar.layer.shadowColor = UIColor.black.cgColor
navBar.layer.shadowOffset = CGSize(width: 0, height: 2.0)
navBar.layer.shadowRadius = 6.0
navBar.layer.masksToBounds = false
}
}