UITabBarController中的UITableViewController = iOS 11上不需要的填充

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UITabBarController中的UITableViewController = iOS 11上不需要的填充相关的知识,希望对你有一定的参考价值。

我需要一个托管UITableViewControllers的UITabBarController。我的控制器以这种方式组织:

  • 的UITabBarController 选项卡1的UINavigationController 选项卡1的UITableViewController 选项卡2的UINavigationController 用于选项卡2的UITableViewController 选项卡3的UINavigationController 选项卡3的UITableViewController

我的故事板截图:

enter image description here

它适用于ios 8,9和10.在iOS 9上:

enter image description here

但是在iOS 11上,我在表格视图的顶部有一个额外的填充:

enter image description here

如何解决?我已经尝试在StackOverflow上提出的每一个解决方案都没有成功,它总是在iOS 8,9和10或iOS 11上工作。我也很确定它在今天早上从9.1更新Xcode之前在所有平台上工作到9.2:@ ...

答案

这似乎是在使用Xcode 9.2创建的项目中出现的错误。你应该:

  • 关闭表格视图导航栏的半透明效果
  • 对于不同的iOS版本,不同地覆盖标题的高度: override func tableView(_ tableView:UITableView,heightForHeaderInSection section:Int) - > CGFloat {if #available(iOS 11,*){return CGFloat.leastNormalMagnitude} return 0}

以上是关于UITabBarController中的UITableViewController = iOS 11上不需要的填充的主要内容,如果未能解决你的问题,请参考以下文章

UITabBarController 的视图多于选项卡

如何从应用程序委托访问 uitabbarcontroller 内的 uinavigationcontroller 内的 uitableview?

切换根视图控制器

iOS中的UITab冻结

UITabBarController 问题中的 UINavigationController

UITabBarController 中的 UINavigationController 没有完全包裹 UIViewController