使用frame.origin.y

时间:2018-03-26 12:44:26

标签: ios swift

我在scrollview中有2个元素。

元素1在使用frame.origin.y找到其y位置后给出390.0

至于元素2,我试图通过下面的代码将它放在与元素1(y = 390.0)完全相同的位置:

Element2.frame.origin.y = yPosition

不幸的是,元素2仅向上移动(它原本远远低于元素1)......它没有移动到元素1给出的位置,但两个元素的frame.origin.y现在是相同。可能是什么问题?

2 个答案:

答案 0 :(得分:1)

原因是元素1的框架没有转换为self.view,所以它相对于scrollView,而不是self.view,你可以尝试

 let ret = self.elem1.convert(self.elem1.frame, to: self.view)

 print(ret.origin.y)

答案 1 :(得分:1)

首先,将滚动视图的坐标转换为主视图的坐标透视图。然后,通过y

访问origin
let ret = self.elem1.convert(self.elem1.frame, to: self.view).origin.y