ios - 以编程方式滚动 UIScrollView,使 UILabel 位于导航栏下方

标签 ios swift

我有一个 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/

相关文章:

ios - 如何在具有多个图像的 ScrollView 中放置一个 PageControl?

swift - 核心数据导致 iPhone 崩溃

swift - 如何将 UInt8(来自数组)附加到字符串?

html - 有什么方法可以在登录表单中定义域名以便 lastpass 可以自动填充它?

ios - 在后台运行 HTTP 请求

ios - 区分 Calabash iOS 中的 ScrollView

arrays - 更改数组中的元素时更改 swift UILabel

swift - 对网络和本地 api 使用相同的类/模型

ios - 点击快速后 UIButton 没有响应

ios - MKpolyline 无法正确显示给定坐标