下拉圖片變大

1.先看個效果圖

下拉圖片變大 .gif

2.開始簡單的代碼過程

其實思路很簡單 就是 讓tableView偏移 一圖片的高度,然后在把圖片添加到tableView中,然后再監(jiān)聽didScrollView,在里面改變圖片的frame


- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    self.automaticallyAdjustsScrollViewInsets = NO;

    _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, navH, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame) - navH) style:UITableViewStylePlain];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    /* 設(shè)置tableView的偏移量 **/
    _tableView.contentInset = UIEdgeInsetsMake(startImageViewH, 0, 0, 0);
    [self.view addSubview:_tableView];
    
    /*
     * 注意 imageView 的Y 值是-startImageViewH 其實這個值就是 tableView的內(nèi)容偏移量
     * 如果Y 是0的話它還是會跟著tableView偏移startImageViewH 值
     **/
    UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, -startImageViewH, CGRectGetWidth(self.view.frame), startImageViewH)];
    imageView.image = [UIImage imageNamed:@"1"];
    self.imageView = imageView;
    [self.tableView addSubview:imageView];

}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    
    CGFloat offsetY = scrollView.contentOffset.y;
    NSLog(@"offsetY = %f",offsetY);
    
    /* 計算往下拉的時候偏移量 **/
    if (offsetY < -startImageViewH) {
        
        /* 計算差值 **/
        CGFloat interval = -CGRectGetHeight(self.imageView.frame) - offsetY;
        
        /* imageView 的高度 增加 interval **/
        CGFloat imageViewH = CGRectGetHeight(self.imageView.frame) + interval;
        /* 計算 imageView的 高度增加后的,寬度增加后的值  **/
        CGFloat imageViewW = imageViewH*CGRectGetWidth(self.imageView.frame)/CGRectGetHeight(self.imageView.frame);
        /* 計算 imageView X 的偏移量 **/
        CGFloat imageViewX =self.imageView.frame.origin.x - (imageViewW -CGRectGetWidth(self.imageView.frame))/2;
        /* 計算 imageView Y 的偏移量 **/
        CGFloat imageViewY =self.imageView.frame.origin.y - interval;
        /* 賦值 **/
        self.imageView.frame = CGRectMake(imageViewX, imageViewY, imageViewW, imageViewH);
        
    }
    
    
}


3.代碼連接
github 的 連接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容