UIScrollview 在缩放时同步子视图原点
Posted
技术标签:
【中文标题】UIScrollview 在缩放时同步子视图原点【英文标题】:UIScrollview sync a subview origin while zooming 【发布时间】:2013-02-26 20:30:11 【问题描述】:我正在尝试开发一种自定义地图。
所以我有一个启用缩放的滚动视图。
这个滚动视图有一个 UIImageView 作为它的子视图,代表用户的地图。
我希望用户能够像在 MapKit 中一样“放置图钉”。
如果我将 pin imageView 添加到地图 imageview 中,pin image 将根据 scrollview 缩放进行缩放,这不是我想要的。
我想获得与 MapKit Mapview 中相同的结果。
当用户平移或缩放时,图钉应该四处移动,但其图像不应变小或变大。
有一种简单的方法可以做到这一点,而不会因为对缩放比例和内容偏移量的数学推测而发疯?
非常感谢大家。
【问题讨论】:
【参考方案1】:这更像是一种猜测,但是将 pin 的层添加为图像视图的子层似乎是这样做的方法。
【讨论】:
它现在就是这样工作的。图像未调整大小,但不会根据平移和缩放移动。但是感谢您的尝试【参考方案2】:我做到了。
我所要做的就是将图钉添加到地图图像视图中。
在滚动视图委托之后,我根据滚动视图缩放比例调整了引脚比例,如下所示:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
_redPin.transform = CGAffineTransformMakeScale(1 / scrollView.zoomScale, 1 / scrollView.zoomScale);
【讨论】:
以上是关于UIScrollview 在缩放时同步子视图原点的主要内容,如果未能解决你的问题,请参考以下文章