作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户使用 scrollViewDidScroll
滚动时,我正在尝试向我的(自定义)导航栏添加阴影,但它没有执行任何操作。我在另一个 View Controller 上有完全相同的代码,但它有一个 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()
}
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)
}
}
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
}
}
最佳答案
I tried adding
webView.scrollView.delegate = self
but I just get an error.
您没有分享错误是什么。我怀疑您没有将 View Controller 声明为 UIScrollViewDelegate
符合,这在尝试将 self
设置为 ScrollView 委托(delegate)时导致编译时错误。
将您的 View Controller 声明更改为:
class ViewController: UIViewController, UIScrollViewDelegate {
关于Swift - scrollViewDidScroll 不适用于 WKWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56815307/
我是一名优秀的程序员,十分优秀!