iOS编程——1种下拉效果(渐变)

来源:互联网 发布:雷阿伦雄鹿时期数据 编辑:程序博客网 时间:2024/06/16 01:59

大笑模仿QQ空间下拉效果,如下图(请无视字体丑陋):



在拖动TableVIew时  在屏幕外面的 图A  和  被 TabelView遮挡的 图C  以相同的速度 出现在 屏幕中。


我们可以把 图B 比作 水 ,图 A 是 云 ,图 C是 船, 首先我们看到的只有 图 B 水 ,在拖动的时候 图A 云 和 图 C 船 匀速出现的屏幕中。


TableView滚动结束 ,松开手,TableView 回弹,这时候又只剩下图B 水。



实现原理是:

                        1.初始化一个带有图片的UIImageView 添加到 self.view上面 将它的坐标设置为:(0, -80,320,self.view.frame.size.height);

                        2. 初始化TableView 添加到 self.view  并把 TableView背景颜色 设置为 clearColor(UIImageView 与 TableView 的先后顺序不能颠倒);

                       3. 给TabelView.tableHeaderView  初始化一个 无背景颜色的 UIView

                       4.实现 UIScrollViewDelegate的代理方法  

                            - (void)scrollViewDidScroll:(UIScrollView *)scrollView

                            {

                                   //关键语句 因为要做到匀速,此处应该用 -80*2 =- 160 减去 TabelView的 偏移量

                                   _imageView.frame =CGRectMake(0, (-160-_tableView.contentOffset.y)/2,320,self.view.frame.size.height);

                             

                            }


详细代码见:http://download.csdn.net/detail/u012405234/6454843