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