TableView和iPhone X上的家庭指示器

时间:2017-10-25 04:31:59

标签: ios uitableview iphone-x

我在一个项目中同时使用UITableViewControllerUITableView

{1}中的UITableView覆盖iPhone X上的主页指示符。 但UITableViewController中的UITableView并未覆盖iPhone X上的家庭指示器。 我应该适合吗? 当我考虑安全区域时,哪一个是正确的?

e.x。

UITableViewController

UITableView on UIViewController

3 个答案:

答案 0 :(得分:3)

您可以继续在标准UITableView上使用UIViewController。只需设置自动布局,以便tableview的底部与superview的底部齐平(而不是边距)。然后将tableview的insetsContentViewsToSafeArea属性设置为true

<强>夫特:

if #available(iOS 11.0, *) {
    tableView.insetsContentViewsToSafeArea = true;
}

<强>目标-C:

if (@available(iOS 11.0, *)) {
    [tableView setInsetsContentViewsToSafeArea:YES];
}

答案 1 :(得分:2)

这是在 iOS 12 中对我有用的内容:

我尝试设置insetsContentViewsToSafeArea,但这没有用,尽管它使我走上了正确的道路。对我来说,解决此问题的方法是将笔尖/故事板中的“内容插入”设置为“从不”(在代码中,该属性为contentInsetAdjustmentBehavior)。

说明:似乎,对于iPhoneX及更高版本,系统会自动为表格视图添加一些底部填充,以使内容超出起始位置指示器。

答案 2 :(得分:0)

这是因为UITableViewController中的表视图是根视图。它将扩展到全屏。但是你可以在UIViewController中对表视图的底部布局指南进行约束。所以你可以使用UIViewController。或者您可以在UITableViewController中设置内容插入。