自定义大小的表格视图仍然使用导航栏的偏移量

Posted

技术标签:

【中文标题】自定义大小的表格视图仍然使用导航栏的偏移量【英文标题】:Custom Sized Table View Still Using Offset For Navigation Bar 【发布时间】:2014-05-15 20:08:21 【问题描述】:

我正在制作一个 viewController 来输入信息 Name (UITextField) Desc (UITextView) 然后为每个任务(TableView)添加时隙但是当我将 viewController 添加到我的导航控制器时,它会向 UITableView 添加偏移量,就好像它应该填满页面。

我已尝试更改偏移量,但这只会导致将大量空白区域进一步向上移动,并且下方出现另一个空白区域(我假设它来自标签栏控制器)。我怎样才能摆脱这个偏移量?

【问题讨论】:

从你在 ios 7 上的截图来看。你试过在你的视图控制器中设置self.automaticallyAdjustsScrollViewInsets = NO 吗?根据具体情况,这也很有用:self.edgesForExtendedLayout = UIRectEdgeNone。 Here is an overview 这些属性。 【参考方案1】:

我建议做以下事情:

框住您的 tableView 以占据整个视图框架。 使用contentInsetscrollIndicatorInsets 将实际表大小减小到合适的大小。在您的情况下,请确保 contentInset 和 scrollIndicatorInsets 的顶部边缘等于您的 textview 和 textField 的大小。

【讨论】:

【参考方案2】:

通过一个苹果示例解决了这个问题,他们通过将 tableViewController 添加为 UIView 的 childViewController 来包装将 tableViewController 添加到 UIView,或者如果您使用故事板,您可以使用容器视图

【讨论】:

以上是关于自定义大小的表格视图仍然使用导航栏的偏移量的主要内容,如果未能解决你的问题,请参考以下文章

当导航栏是超级视图视图时,如何在导航栏后面放置视图?

iOS - 导航栏 - 带有另一个导航栏的内部表格视图

iOS 7:在底部导航栏的表格视图之间滑动

创建导航栏的自定义实现

从自定义大标题导航栏过渡到常规导航栏时出现黑框

ios7以上自定义导航栏标题的字体大小及颜色的方法