UIImageView 与 UIScrollView 的 viewForZoomingInScrollView 同步缩放:
Posted
技术标签:
【中文标题】UIImageView 与 UIScrollView 的 viewForZoomingInScrollView 同步缩放:【英文标题】:Sync zoom of UIImageView with UIScrollView's viewForZoomingInScrollView: 【发布时间】:2013-03-18 05:10:40 【问题描述】:我正在开发某种自定义地图,它将在地图内容上方显示附加信息(我将其称为叠加)。但是叠加渲染非常困难,所以我只渲染用户此时可以在屏幕上看到的部分。但我也希望在用户缩放或平移地图时,也可以叠加缩放和平移(当然,无需重新渲染,因为它需要时间来完成)。所以我的叠加层是UIView
和UIImageView
子视图。在用户平移期间,我查找contentOffset
更改(地图内容显示在UIScrollView
)并将我的imageView
移动到该偏移量(将origin
更改为frame
),所以这非常快。当用户从屏幕上分离手指时,我将初始 frame
设置为 imageView
并重新渲染它。我怎样才能用缩放做类似的事情?我尝试监视zoomScale
更改和contentOffset
,但imageView
移动不像地图内容。任何建议如何做都会对我有用
【问题讨论】:
【参考方案1】:我解决了来自另一端的问题。我没有计算偏移量和缩放比例,而是将叠加层添加到地图内容作为子视图,因此它可以很好地移动和缩放。当用户从地图上分离手指时,我将其从超级视图中删除并重新渲染
【讨论】:
以上是关于UIImageView 与 UIScrollView 的 viewForZoomingInScrollView 同步缩放:的主要内容,如果未能解决你的问题,请参考以下文章
当我从与移动设备中的图库相同的多个 UIImageView 显示中点击 UIImageView 时,未调用 touchesBegan 方法
iOS:UILabel 之后的 UIImageView 与多行
UIScrollView 与 UIImageView。图像未向上滚动
与 CGContextDrawImage 相比,为啥 UIImageView 如此占用内存