iOS scrollView如何居中缩放

我相信大家在对scrollView进行缩放时遇到过一个问题,就是放大或者缩小时不居中,尤其是缩小时,scrollView总是往左上角跑。

// 核心方法

// 这个方法是针对scrollView在缩小时无法居中的问题,scrollView放大,只要在设置完zoomScale之后设置偏移量为(0,0)即可实现放大居中
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    
    CGFloat offsetX = MAX((scrollView.bounds.size.width - scrollView.contentInset.left - scrollView.contentInset.right - scrollView.contentSize.width) * 0.5, 0.0);
    CGFloat offsetY = MAX((scrollView.bounds.size.height - scrollView.contentInset.top - scrollView.contentInset.bottom - scrollView.contentSize.height) * 0.5, 0.0);
    
    self.imageView.center = CGPointMake(scrollView.contentSize.width * 0.5 + offsetX,
                                        scrollView.contentSize.height * 0.5 + offsetY);
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,914评论 25 709
  • 借书 有过一次不愉快的回忆,导致后来,他找我帮忙,不理会。小学时,老师说买两本课外书,一本《十万个为什么》,一本《...
    周某某2019阅读 1,397评论 0 0
  • 未来 曾经认为充满无限希望的字眼 现如今已被越来越多的人用作违心拒绝的内心独白 臆想的未来无情的扼杀了真情的存在 ...
    夜空北辰阅读 1,157评论 0 1