模仿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