ios UITableViewController重叠状态栏

Alb*_*ori 15 uitableview ios

我有一个简单的选项卡式应用程序,其第一个选项卡是UITableViewController.填充一些数据后,我注意到表格视图的顶部与状态栏重叠.

我试过搞乱edgesForExtendedLayout和类似的设置,但没有找到神奇的组合.有谁知道如何纠正这个?

重现步骤:

  1. 创建一个新的选项卡式应用程序
  2. 取下第一个标签UIViewController并用a替换UITableViewController
  3. UITableView用一些数据填充
  4. 运行该应用程序

以下是设置和问题的几个屏幕截图: Xcode故事板 UITableView重叠状态栏

Józ*_*sza 28

只需修改contentInset表视图的属性,即可在内容周围添加一些填充.在viewDidLoad()添加以下内容:

tableView.contentInset.top = 20
Run Code Online (Sandbox Code Playgroud)

在Objective-C中,你不能直接分配到顶部,所以这样做:

self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

当然它可以是任意值,在这种情况下,它是状态栏的高度.

  • 谢谢.我很惊讶这不是默认值.(Apple应检查状态栏并相应地设置它.)我决定使用`tableView.contentInset.top = UIApplication.sharedApplication().statusBarFrame.height`因为我不喜欢魔术数字:) (18认同)