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);
    
}


作者:S型身材的猪
链接:https://www.jianshu.com/p/0ef6e9b64593
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @   brave-sailor  阅读(347)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2017-12-15 OC学习篇之---类的初始化方法和点语法的使用
2015-12-15 UIScrollView 与 UIPageView 的联合使用
2015-12-15 如何使用Storyboard创建UIPageViewController
2015-12-15 iOS音频播放(二):AudioSession
2015-12-15 iOS音频播放(一):概述
2013-12-15 关于去除Dialog的黑色背景框
点击右上角即可分享
微信分享提示