答案 0 :(得分:2)
我假设您使用的是Autolayout
,因此您可以将tableView的.top
页边距限制在其超级视图的.top
或查看控制器的{{}} { {1}}属性,以便表格视图从topLayoutGuide
开始:
0
以下是我在模拟器中的外观:
要让表格标题从状态栏下方开始,只需使用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
:
您可以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
。