iOS中的转换和特殊缩放

时间:2016-07-05 09:27:03

标签: ios transformation cgaffinetransform cgaffinetransformscale

如果我错了,请纠正我:如果我们有x = 10,y = 20,当我们对这些坐标应用变换时(假设将x和y缩放10),新坐标将为x = 100并且Y = 200。 因此,如果我们将x的缩放应用-1,我们得到x = -10,y = 20。但为什么这个动作导致视图被镜像?不应该在它的新坐标处重新绘制视图吗? 我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

不要考虑单个坐标,考虑一系列坐标。

如果您将... 0,1,2,3,4的坐标(此处仅为x值)取出并按10进行缩放,则它们将分别映射到0,10,20,30,40。这将拉伸x轴,因此视图看起来比原来大10倍。

如果你采用相同的x坐标并按-1进行缩放,那么它们将分别映射到0,-1,-2,-3,-4。

也就是说,距离原点(4)最远的像素仍然离原点最远,但现在为-4。

每个像素都通过原点进行镜像。

这就是iOS,Android和普通数学中缩放的工作原理。

如果您只想在不改变视图大小的情况下滑动视图,则可以使用translation代替。