使用UIScrollView
进行缩放时,可见内容的宽高比似乎是不变的。
我想独立管理水平和垂直缩放。例如,如果手指水平触摸屏幕,则仅更改水平滚动。我注意到UIScrollView.zoomScale
的类型是float
(对于所有维度)。是否有可能解决这个问题?
详细信息: 我正在开发一个基于OpenGL ES的应用程序,我想使用UIKit的卷轴来获得漂亮的外观并节省实现它的时间。
答案 0 :(得分:2)
我想在你的情况下,最好不要使用UIScrollView
,而是自己在要转换的视图上设置UIPinchGestureRecognizer
。
GestureRecognizer将跟踪手指并决定是否(以及多少)在哪个维度进行缩放。基于此,您可以设置视图的transform
属性。例如,一个宽度加倍但保持高度不变的变换矩阵将是CGAffineTransformMakeScale(2.0, 1.0)
。
为了利用UIScrollView的滚动,您可以将视图嵌入到UIScrollView中,并根据GestureRecognizer的回调方法相应地设置contentSize
和contentOffset
属性。