【发布时间】:2010-12-22 02:09:08
【问题描述】:
我有一个UIScrollView,我想将其缩放行为限制在水平轴上。我通过使用自定义UIView 作为viewForZoomingInScrollView: 并覆盖setTransform: 实现了这一点。到目前为止一切顺利 - 视图仅水平缩放。
一个问题:容器视图在UIImageViews 中包含一些可伸缩的UIImage 实例。显然,随着变换的生效,图像会失真。
对于重绘视图以使图像不失真,或者以不需要变换的方式缩放视图的最佳选择是什么?
感谢您提供的任何帮助。
【问题讨论】:
-
我认为失真取决于应用拉伸和仿射变换的顺序。我不熟悉 iphone API。是否可以颠倒转换的顺序?
-
我不这么认为。 UIImage 实例的可拉伸性是在初始化时设置的,然后当您调整显示它的 UIImageView 的框架大小时,图像会根据您最初指定的左边距和上边距呈现。由于就 UIImageView 而言,在应用其父视图的变换时,它的框架没有改变,因此不会重绘图像。
标签: iphone cocoa-touch ios uiscrollview uiimage