在iOS中,是否可以更改View的坐标系,以便0,0位于右上角?

时间:2015-06-10 23:07:15

标签: frame coordinate-systems

通常,0,0坐标指的是视图的左上角。更高的x坐标更右边。视图中的框架/矩形的最左边的点是x坐标,最右边的点是x坐标加上宽度。

是否可以反转它,或者更好的是,只反转x轴?将0,0设为右上角。让较高的起源位于左侧。并使视图中的框架/矩形的最右边点为x坐标,最左边的点为x坐标加上宽度。

我知道我可以用纯数学来改造这些东西,但我想知道iOS是否提供这种能力。

2 个答案:

答案 0 :(得分:0)

不是。

  • iOS 9提供了一些支持从右到左语言的新功能,但我认为你不能强迫它。
  • 您可以通过将transform属性设置为CGAffineTransformMakeScale(-1, 1)来翻转视图的绘图,但这不会更改基础坐标系。
  • SpriteKit的坐标系与普通的UIViews不同,但它的坐标系并不是你想要的。

您可能需要阅读Coordinate Systems and Transforms,其中讨论了在不同坐标系之间映射点的一些技巧。 This MSDN article涵盖使用矩阵映射点,这可以帮助您达到理论水平。

答案 1 :(得分:0)

它没有记录,但是UIView有一个实例变量_flipsHorizontalAxis,它确实像听起来那样。看起来它只是通过了同名的CALayer变量。