我有一个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)
答案 0 :(得分:1)
您可以在滚动视图中像这样获得标签的y位置:
let myLabelTopYPoint = yourScrollView.convert(myLabel.frame, to: yourScrollView).minY