gpt4 book ai didi

ios - 如何让我的 iOS7 UITableViewController 不出现在顶部状态栏下?

转载 作者:IT王子 更新时间:2023-10-29 07:45:49 33 4
gpt4 key购买 nike

我的根 Controller 是 TabBarController(选项卡式应用程序)。其中一个选项卡是 UITableViewController。当我切换到那个并滚动浏览项目时,它们会显示在顶部的状态栏下方(信号、电池等)。我不想要那个。我希望它是不透明的或者...什么的。它在视觉上与表格单元格的文本重叠在状态内容下很不协调。

我可以使用一些我不理解的属性设置从我的 Storyboard 中解决这个问题吗?或者我需要为我的子类添加一些方法吗?或者我可能需要用其他类型的 Controller 包装我的 UITableViewController?

我已经在 Storyboard 属性页面中尝试了 ViewController 布局和扩展边缘设置的多种变体,但似乎没有一个能使它变得更好。

更新:我认为我的问题与iOS 7: UITableView shows under status bar 非常相似.唯一的区别是,我嵌入到 TabBarController 中,这种情况是作为 Root View 。我尝试了那里列出的嵌入 NavigationController 并将 Show Navigation Bar 设置为 False 的解决方案,但没有任何区别。

屏幕截图:

我的 Storyboard(缩小)显示了一个选项卡式 Controller ,有 2 个 child ,一个是单一 View ,另一个是表格 View 。

Storyboard

标签栏 Controller 的设置

tab bar controller settings

表格 View Controller 的设置

table view controller settings

应用程序最终在我的手机上看起来像什么

enter image description here

故事的结局

尽管下面有很多答案,但没有一个真正有效。有点,但不是真的。我也尝试了 Embed in NavigationController 方法,但也有问题。什么起作用了,是这样的:

  1. 添加 UIViewController
  2. 设置子 Controller 与它和标签栏 Controller 的关系(就像我已经拥有的其他两个一样)
  3. 向新的 UIViewController 添加一个 TableView(不是 Controller ),根据需要放置,它会吸附到状态栏的底部
  4. 将 TableView 的 delegatetableSource 设置为新的 Controller
  5. 创建自定义 UIViewController 子类并更新 Storyboard中 Controller 的类类型
  6. 将表相关方法从我的自定义 UITableViewController 子类复制到我的新子类<​​/li>
  7. 从原来的表格单元格中选择我的原型(prototype)表格单元格,然后命令+拖动它到新的表格 View
  8. 很高兴也删除原来的 TableViewController(和包装器 NavigationController)
  9. 更新标签栏项目以匹配之前的内容
  10. 再喝一杯“你在努力”

最佳答案

在 viewDidLoad 中试试这个:

self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);

20 px 是状态栏的高度。如果您有导航栏,请使用 64 而不是 20

关于ios - 如何让我的 iOS7 UITableViewController 不出现在顶部状态栏下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687082/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com