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