我可以使用 UIScrollViewDelegate 的协议(protocol)扩展来为所有符合此协议(protocol)的 View 提供 scrollViewDidScroll
的默认实现吗?
因为我希望能够在单个文件中通过所有其他 View 传播相同的 scrollViewDidScroll 实现,而不必在每个 View 中实现此方法,即 6。
最佳答案
对我有用的是在实现协议(protocol)的类型上实现扩展,即 UIViewController
extension UIViewController{
func scrollViewDidScroll(scrollView: UIScrollView){
//do something
print("scrolled\n")
}
}
仅在 Swift 2.0 中:看起来您应该可以执行以下操作,但它似乎不起作用:
extension UIScrollViewDelegate{
func scrollViewDidScroll(scrollView: UIScrollView){
//do something
}
}
我认为您以符合此协议(protocol)的类型编写的任何 scrollViewDidScroll 实现都应该覆盖此实现。
关于ios - Swift:UIScrollViewDelegate 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271849/