在滚动视图中以编程方式垂直居中UILabel,与视图swift不匹配

时间:2016-11-14 21:36:52

标签: swift xcode uiscrollview uilabel

我有一个水平滚动视图,可以填充视图的1/3。

我想将UILabel放在滚动视图的中心,我已成功完成:

let reagentsLocationx = mainscrollview.frame.width/2-100

但是,我正在努力在滚动视图中垂直居中标签。当我对reagentLocationy使用类似的代码时,它会将标签集中在视图中,而不是在滚动视图中。

如何在Swift中将标签置于滚动视图中心?

非常感谢。

2 个答案:

答案 0 :(得分:0)

我认为这是因为你使用框架而不是边界。我不相信框架会比屏幕空间大,但是它的界限等于视图的实际大小。尝试将其基于滚动视图高度的边界。

UIScrollView().contentSize.height可能就是你要找的东西。

答案 1 :(得分:0)

无需在代码中设置尺寸。

故事板中完成的所有事情。

  1. 将您的滚动视图拖动到视图控制器中。

  2. 将滚动视图中的顶部,底部,前导和尾随约束设置为父视图或安全区域。

  3. 将文本标签拖到滚动视图中。
  4. 将顶部,底部,前导和尾随约束设置为滚动视图。
  5. 重要设置第二个前导和尾随约束,现在从文本标签到父视图(UIView - 不是scrollview)或安全区域。 这可以确保文本标签知道他的宽度,因此scrollview也知道它。