为什么UITableView的contentLayoutGuide.layoutFrame始终为零?

时间:2018-04-07 18:34:26

标签: ios uitableview uiscrollview autolayout ios11

从iOS 11开始,Apple为contentLayoutGuide添加了UIScrollView,我希望使用表格视图的contentLayoutGuide添加自动布局约束,但我找到了contentLayoutGuidelayoutFrame始终是CGRect.zero,所以它不起作用。

我想通过自动布局在滚动视图的内容中添加一个视图。这不起作用:

label.topAnchor.constraint(equalTo: tableView.contentLayoutGuide.bottomAnchor, constant: 10).isActive = true

2 个答案:

答案 0 :(得分:0)

我想我知道为什么UITableView的值总是为零,可能是因为表视图的子视图没有按照自动布局约束进行布局,它们是按帧布局的。

因此,只有通过自动布局约束布局的子视图才能为contentLayoutGuide.layoutFrame提供值。

答案 1 :(得分:-1)

您何时添加此约束?

根据Apple documentation

  

此属性在其拥有视图的layoutSubviews()方法被调用时包含有效的CGRect值。

希望它有所帮助。