如何隐藏导航栏+工具栏并在滚动时更改tableView高度

Posted

技术标签:

【中文标题】如何隐藏导航栏+工具栏并在滚动时更改tableView高度【英文标题】:how to hide navigation bar + toolbar and change tableView height on scroll 【发布时间】:2016-06-19 20:39:59 【问题描述】:

我在导航控制器中嵌入了一个视图控制器,其下方附加了一个工具栏,因此它具有以下样式:

正如你在我的故事板中看到的那样,我还有一个容器视图,里面有一个 tableviewcontroller:

在滚动时,我需要隐藏我已经能够做到的导航栏。问题是,我还必须隐藏导航栏下方的工具栏以及扩展表格视图的高度,以便当导航栏和工具栏都消失时,表格视图可以使用额外的空间。

【问题讨论】:

请发布一些代码,而不仅仅是图片。您还尝试过什么? 您是否有理由为您的 tableView 使用容器视图,而不仅仅是让您的主视图控制器符合 UITableViewDataSourceUITableViewDelegate?我认为这可能只是你的问题。 【参考方案1】:

我没有完美的答案,但请尝试在cellForRowAtIndexPath 中使用以下代码 会帮你的。。

你没有提到你的代码是在客观的 C/Swift 中。我为你提供了两个::

Obj-C

[[self navigationController] setNavigationBarHidden:YES animated:YES];

斯威夫特

self.navigationController().setNavigationBarHidden(true, animated: true)

对于tabBar,如果你想用navigationBar隐藏tabBar就用这个东西..

或者用这个来隐藏tabBar >

DetailViewController *detailViewController = [[DetailViewController alloc] init];
detailViewController.hidesBottomBarWhenPushed = YES;
[[self navigationController] pushViewController:detailViewController animated:YES];    
[detailViewController release];

【讨论】:

以上是关于如何隐藏导航栏+工具栏并在滚动时更改tableView高度的主要内容,如果未能解决你的问题,请参考以下文章

iOS:滚动表格视图时隐藏和显示自定义导航栏

滚动上带有隐藏导航栏的页面菜单

为啥我的导航栏在向下滚动时不隐藏而在向上滚动时出现?

如何在滚动时隐藏导航栏,除非在屏幕顶部

导航栏隐藏XCode时状态栏更改色调颜色

如何在 Xamarin Forms 中滚动时折叠(隐藏或向上滑动)导航栏(标题栏)?