转眼六月份都快过去了,我发现这个月我一篇博客都没发表。表示很羞涩......
下个月很有可能会迎来博客大爆发,只是博客的主题有点......呃,留点悬念吧。
---------------------
有小伙伴和我私聊时说在看过我写的那篇 delegate相关的博文后,回过头再看看ScrollView委托的实现过程还是有点吃力。我赶紧搜出之前那篇博文看了看......不禁感慨:
尼玛,这写的都是些啥?!怎么我自己都看晕了?
做人要厚道!写博要实在!为了弥补之前的不足,下面我就以一个新手的角度(其实自己就是新手)来研究下ScrollView的委托实现流程到底是怎样的。
1、首先进入ScrollView.h文件中,在声明ScrollView这个类之前先声明一个委托类,之所以称之为委托,因为它的命名中包含 delegate 这个词。如下:
- classScrollView;//前向声明scrollView
- classScrollViewDelegate
- {
- public:
- virtual~ScrollViewDelegate(){}
- virtualvoidscrollViewDidScroll(ScrollView*view)=0;
- voidscrollViewDidZoom(ScrollView*view)=0;
- };
可以看到在这个委托类的声明里有两个函数,一个是 scrollViewDidScroll() ,这是当scrollView在被拖动时会响应该函数;另一个是 scrollViewDidZoom ,我想应该是当scrollView在进行缩放时会响应该函数。
2、接下来就是声明ScrollView这个类了。 一开始我本能认为既然ScrollView要与ScrollViewDelegate这个类关联起来,那么它就应该继承ScrollViewDelegate吧?可实际上并没有, ScrollView只是单纯的继承一个Layer罢了 ,如下: