iOS 7 UITableView 在 UINavigationBar 下扩展
Posted
技术标签:
【中文标题】iOS 7 UITableView 在 UINavigationBar 下扩展【英文标题】:iOS 7 UITableView extends beneath UINavigationBar 【发布时间】:2014-01-22 00:12:07 【问题描述】:项目概述
我有一个UITableViewController
作为UINavigationController
的根视图控制器。它的视图是使用UITableViewStyleGrouped
样式的UITableView
。表格视图也有一个UIRefreshControl
。我没有使用 nib/xib 文件,一切都是以编程方式创建的。
问题
我的表格视图中第一部分的标题位于导航栏下方。但是,刷新控件位于正确的位置。通常这个问题是由半透明的导航栏引起的,但我的导航栏已经不透明了。
尝试的解决方案
self.edgesForExtendedLayout = UIRectEdgeNone
这不会产生任何变化。
self.tableView.contentInset = UIEdgeInsetsMake(20.0f, 0.0f, 0.0f, 0.0f);
这会将我的表格视图放在正确的位置,但也会导致刷新控件被调低。更不用说这是一个肮脏的解决方案。
【问题讨论】:
你确定这不仅仅是……等等……错觉? 【参考方案1】:尝试使用:
[self setAutomaticallyAdjustsScrollViewInsets:NO];
【讨论】:
这实际上让一切变得更糟。它又向上移动了 200 像素左右,刷新控件似乎完全消失了(可能完全被导航栏隐藏了。【参考方案2】:您需要使用普通的视图控制器并将 tableview 添加到所需的位置。 这是因为在 uitableviewcontroller 的情况下,整个 tableview 是 parentview 。我希望你明白我的意思。
【讨论】:
以上是关于iOS 7 UITableView 在 UINavigationBar 下扩展的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7 UITableView 在 UINavigationBar 下扩展