tableHeaderView實現(xiàn)彈簧的效果

今天完成了輪播圖的實現(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需要被放大。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容