以编程方式滚动UIScrollView,因此UILabel就在导航栏下方

时间:2018-11-11 07:53:47

标签: ios swift

我有一个UIScrollView,其中包含按钮,文本字段和标签的各种块。

第二个块的标题为UILabel。当我点击旁边的按钮时,我希望以编程方式滚动,以便此标签位于屏幕的左上方,导航栏下方。

我可以使用setContentOffset函数以编程方式执行此操作,但是我不知道如何以编程方式获取y的值。由于顶层可以根据用户输入进行扩展或收缩,因此我需要以编程方式获取此值。如何获得标签的y正确值?

let myLabelTopYPoint = ??!

我玩了以下两行,但都没有给出我想要的...

let myLabelTopYPoint = myLabel.convert(myLabel.center, to: self.view).y

let myLabelTopYPoint = myLabel.frame.maxY

(在以下情况下,将y手动选择为200适用于大多数用户输入,但这并不令人满意)

myScrollView.setContentOffset(CGPoint(x: 0, y: myLabelTopYPoint), animated: true)

1 个答案:

答案 0 :(得分:1)

您可以在滚动视图中像这样获得标签的y位置:

let myLabelTopYPoint = yourScrollView.convert(myLabel.frame, to: yourScrollView).minY