【问题标题】:Display tableView under status bar在状态栏下显示tableView
【发布时间】:2016-02-02 12:54:32
【问题描述】:

我正在尝试在应用启动时在状态栏下显示我的UITableView 的内容(现在可以通过滚动来实现)。

这是我目前的结果:

但我希望它看起来像这样:

我已经为 UINavigationController 设置了这些属性

我已经尝试在viewDidLoad 中像这样调整插图:

[self.tableView setContentInset:UIEdgeInsetsMake(0, 0, 0, 0)];

但是,它没有按预期显示。

【问题讨论】:

  • 您是通过代码创建表格视图吗?还是将其拖到情节提要?
  • @SahebRoy 这是一个创建的故事板UITableViewController
  • 使用 uiviewcontroller 子类并改用 tableview 怎么样?或者您可以取消勾选扩展边缘 - “在顶栏下”,然后检查一次结果

标签: ios objective-c uitableview uinavigationcontroller


【解决方案1】:

在这个方法中添加代码--viewDidLayoutSubview()

[self.tableView setContentInset:UIEdgeInsetsMake(0, 0, 0, 0)];

【讨论】:

  • 更简单的语法:self.tableView.contentInset = UIEdgeInsetsZero;
【解决方案2】:

设置tableView contentInsetAdjustmentBehavior 属性

tableView.contentInsetAdjustmentBehavior = .never

【讨论】:

    【解决方案3】:

    这对我有用。

    tableView.contentInset = UIEdgeInsets(top: -UIApplication.shared.statusBarFrame.size.height, left: 0, bottom: 0, right: 0)
    

    【讨论】:

    • 一般来说,如果答案包含对代码的用途的解释,以及为什么在不介绍其他人的情况下解决问题的原因,答案会更有帮助。
    • 当我点击状态栏时,表格视图变为零内容插入,这意味着它可以工作但会产生另一个问题..
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多