今天完成了輪播圖的實現(xiàn),其中有一個小需求就是輪播圖下拉的時候有一個彈簧的效果,比較簡單的實現(xiàn),因為tableView繼承自scrollView,所以可以通過實現(xiàn)代理方法完成這個需求
#pragma mark - 實現(xiàn)頂部輪播圖的彈簧效果
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat yOffset = scrollView.contentOffset.y;
CGRect rect = self.topView.frame;
//topView下拉彈簧效果
if(yOffset < 0 ){
rect.origin.y = yOffset;
rect.size.height = self.originHeight - yOffset;
self.topView.frame = rect;
}else{
rect.origin.y = self.originY;
rect.size.height = self.originHeight;
}
self.topView.frame = rect;
}
首先在viewDidLoad中
self.originHeight = self.topView.frame.size.height;
self.originY = self.topView.frame.origin.y;
記錄下開始的時候topView也就是輪播圖封裝控件frame,主要是高度和y,當tableView被用戶滾動的時候,就會來到scrollViewDidScroll:
函數(shù),這個時候獲取contentOffset,如果y軸方向上的偏移是負值,就表示topView需要被放大。