对在iOS中绘制原点感到困惑

时间:2019-01-20 12:18:18

标签: ios swift

代码

self.view.frame.origin.y = self.view.frame.origin.y - keyboardSize.height

在这里,我试图将视图原点设置为键盘的视图高度

我的输出

enter image description here

我的怀疑

根据数学,我的视图必须放在键盘下方,这是怎么回事?

2 个答案:

答案 0 :(得分:0)

UIView所在的坐标空间与您在数学课程中学习的笛卡尔坐标平面并不完全相同,可能看起来像这样:

enter image description here

在UIKit中,正y方向是向下的,而负y方向是向上的。这意味着y坐标小的视图将位于其父视图的顶部。当您增加其y坐标时,它会向下移动。看起来像这样:

enter image description here

这行代码:

self.view.frame.origin.y=self.view.frame.origin.y-keyboardSize.height

减小self.view的y坐标,因此将其上移。减多少好吧,键盘的高度。

答案 1 :(得分:0)

视图坐标系从顶部(0)递增到底部(设备高度),因此

self.view.frame.origin.y=self.view.frame.origin.y-keyboardSize.height

降低视图的y原始位置会升高视图

enter image description here