如何平移 UIImageView 内的图像?

2024-04-24

我有一个UIImageView显示比实际图像更宽和更高的图像UIImageView是。我想使用动画在视图中平移图像(以便平移漂亮且平滑)。

在我看来,我应该能够调整bounds.origin of the UIImageView,并且图像应该移动(因为图像应该在视图内绘制为its起源,对吧?)但这似乎不起作用。这bounds.origin改变,但图像绘制在相同的位置。

几乎有效的是改变contentsRect视图层的。但这是从一个单位正方形开始的,即使图像的可视区域不是整个图像。所以我不确定如何检测到图像的远边缘被拉入可视区域(我需要避免这种情况,因为它通过将边缘拉伸到无穷大来显示,这看起来,嗯,低于标准) )。

我的观点目前有其contentsGravity set to kCAGravityTopLeft通过 Interface Builder,如果这有影响(是否会导致图像移动?)。不过,似乎没有其他选择更好。

更新:明确地说,我想移动图像inside视图,同时将视图保持在同一位置。


我强烈建议附上您的UIImageView in a UIScrollView。有UIImageView显示完整图像,并设置 contentSizeUIScrollView和你的一样UIImageView's尺寸。你的window图像的大小将是UIScrollView,并通过使用scrollRectToVisible:animated:您可以以动画方式平移到图像上的特定区域。

如果不想出现滚动条,可以设置showsHorizontalScrollIndicator and showsVerticalScrollIndicator属性到NO.

UIScrollView还提供捏缩放功能,这可能对您有用,也可能没用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何平移 UIImageView 内的图像? 的相关文章

随机推荐