我有一个 UIScrollView,其中包含各种按钮、文本字段和标签 block 。
有一个 UILabel 标题第二个 block 。当我点击它旁边的按钮时,我希望以编程方式滚动,以便该标签位于屏幕的左上角,就在导航栏下方。
我可以使用 setContentOffset 函数以编程方式执行此操作,但我不知道如何以编程方式获取 y 的值。由于顶部 block 可以根据用户输入扩展或收缩,因此我需要以编程方式获取此值。如何为我的标签获取正确的 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)
最佳答案
您可以像这样在 ScrollView 中获取标签的 y 位置:
let myLabelTopYPoint = yourScrollView.convert(myLabel.frame, to: yourScrollView).minY
关于ios - 以编程方式滚动 UIScrollView,使 UILabel 位于导航栏下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53246819/