6

我有一个navigationBar与largeTitle和searchcontroller和我的tableView有一个refreshcontrol。iOS 11 UIRefreshControl与NavigationBar LargeTitle和SearchController消失

当我拉动刷新refreshcontrol的activityIndi​​cator消失但de refresh过程继续时,即使进程完成并调用UIRefreshControll的.endRefreshing(),navigationBar也不会恢复到正常大小。

enter image description here

有人用同样的问题?

+0

我有完全相同的问题。刷新完成后,基础表视图会跳回原始位置,但导航栏保持刷新状态。你有没有找到解决方案? – xxtesaxx

+0

@xxtesaxx我的答案可能会帮助你:https://stackoverflow.com/a/47659869/2145198 – beebcon

回答

0

尝试使用此代码段:

self.navigationController?.navigationBar.prefersLargeTitles = false 
self.navigationController?.navigationBar.prefersLargeTitles = true; 
4

我搜索了这几个星期的解决方案已经和今天,我终于做到了工作。解决方法非常简单,我不能相信我之前没有找到。

我正在使用UITableView的普通UIViewController。我的布局限制了设置,使该UITableView的用0钉在底部和顶部的布局指南,像这样:

enter image description here

有一次,我改变了这一切,并压住了的UITableView到上海华以0比所有边缘,它奇迹般地开始工作:

enter image description here

我甚至没有设置任何东西。我多么希望,这确实为你修复以及因为它只是很讨厌......

+0

这节省了我这么头疼!你知道这是为什么吗? – CamLeng

+1

不幸为我工作...(通过查看代码而不是故事板) –

+0

您是否通过代码设置约束?确保不要将滚动视图固定在布局指南或安全区域,而是将超视图的顶部和底部固定。 – xxtesaxx

3

尝试

self.extendedLayoutIncludesOpaqueBars = YES;

如果你有不透明的导航栏是。它为我解决了这个问题。

+1

它为我修好了!谢谢 –

+0

工作就像一个魅力!桌面浏览器跳起来了,但导航栏仍然很大。哦,指标是隐形的......所有的东西都是固定的,谢谢你! – MikeB