iOS下拉放大图片

闲来无事,模仿小恩爱写了个图片下拉放大的demo。
效果如下:

具体实现特别简单,主要实现代码如下:

 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
    
    layout.itemSize = CGSizeMake(kWidth/3.75, kHeight/6.67);
    
    layout.sectionInset = UIEdgeInsetsMake(20, 20, 0.33*kWidth, 20);
    
    self.menuCollectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, kWidth, kHeight) collectionViewLayout:layout];
    
    self.menuCollectionView.backgroundColor = [UIColor whiteColor];
    
    self.menuCollectionView.delegate = self;
    
    self.menuCollectionView.dataSource = self;

    self.menuCollectionView.contentInset = UIEdgeInsetsMake(250, 0, 0, 0);
    
    self.menuCollectionView.alwaysBounceVertical = YES;
    
    [self.view addSubview:self.menuCollectionView];
   
    
    
    self.backImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, -250, kWidth, 250)];
    
    self.backImageView.image = [UIImage imageNamed:@"1.jpg"];
    
    self.backImageView.contentMode =  UIViewContentModeScaleAspectFill;

    [self.menuCollectionView addSubview:self.backImageView];

下拉时实现放大方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{

    CGFloat contentY = scrollView.contentOffset.y;
    
    if (contentY < -250) {
        CGRect frame = self.backImageView.frame;
        
        frame.origin.y = contentY;
        
        frame.size.height = -contentY;
        
        self.backImageView.frame = frame;
    }

}


搞定,如有疑问,请留言

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近想到实现tableview下拉实现headerView图片根据偏移值放大,上推实现导航栏根据偏移值计算导航栏透...
    哭与行阅读 984评论 0 3
  • 个人很喜欢这种效果,后面会在这个项目更新新效果。版本记录2017.1.24 (最基础图片下拉放大)https://...
    zhaok阅读 625评论 0 4
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,821评论 25 709
  • 我们行有一位经常来的老太,大概患有阿尔兹海默症,常常失去短期记忆。如果她一天出现一次在行里,那么必然会出现第二次甚...
    六层楼的张不知阅读 446评论 0 0
  • 【樊·新芜湖分会·早读】️第十五天 早安-171121,一年带您读50本书。Keep Learning “推广全民...
    读古今书交四海友阅读 260评论 0 0