我怎么能把状态栏后面的uitableview标题?

时间:2017-04-25 12:56:16

标签: ios uitableview swift3 statusbar uitableviewsectionheader

我添加了两张图片,第一张显示了我想要的内容,第二张显示了正在发生的事情。我希望uitableview标题位于状态栏后面,如第一张图片所示。部署目标是9.2

enter image description here

,第二个是

enter image description here

2 个答案:

答案 0 :(得分:2)

我假设您使用的是Autolayout,因此您可以将tableView的.top页边距限制在其超级视图的.top或查看控制器的{{}} { {1}}属性,以便表格视图从topLayoutGuide开始:

0

以下是我在模拟器中的外观:

enter image description here

要让表格标题从状态栏下方开始,只需使用let toItem: Any = self.topLayoutGuide // You can change this to `self.view` to have the same effect. view.addConstraint( NSLayoutConstraint(item: tableView, attribute: NSLayoutAttribute.top, relatedBy: NSLayoutRelation.equal, toItem: toItem, attribute: NSLayoutAttribute.top, multiplier: 1.0, constant: 0 ) ) 的{​​{1}}属性而不是layoutGuide

enter image description here

您可以download测试项目。

答案 1 :(得分:0)

从Xcode发出警告:iOS 11.0中已弃用“ topLayoutGuide”:使用view.safeAreaLayoutGuide.topAnchor而不是topLayoutGuide.bottomAnchor

所以现在您可以执行此操作以达到相同的效果。

tableView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 0).isActive = true

请注意,我们在这里使用safeAreaLayoutGuide的.topAnchor