我有一个带有largeTitle和searchcontroller的navigationBar,我的tableView有一个refreshcontrol。
当我拉动刷新时,refreshcontrol的activityIndicator消失但是de刷新过程继续,即使进程完成并且我调用了UIRefreshControll的.endRefreshing(),导航栏也没有恢复到正常大小。
有同样问题的人?
答案 0 :(得分:19)
我已经搜索了几个星期的解决方案,今天,我终于完成了它。解决方案很简单,我不敢相信我之前没有找到。
我正在使用带有UITableView的普通UIViewController。设置了我的布局约束,以便UITableView固定为0到底部和顶部布局指南,如下所示:
一旦我改变了它并将UITableView固定到Superview,其中0到所有边缘,它神奇地开始工作:
我甚至不需要设置任何其他内容。我非常希望能为你解决这个问题,因为它非常烦人......
如果上述方法不起作用,除此之外,还需要设置
self.extendedLayoutIncludesOpaqueBars = YES;
或检查故事板中的“扩展边缘/在Opque栏下”
答案 1 :(得分:10)
尝试
self.extendedLayoutIncludesOpaqueBars = YES;
如果你有不透明的导航栏。它为我解决了这个问题。
答案 2 :(得分:2)
尝试使用此代码段:
self.navigationController?.navigationBar.prefersLargeTitles = false
self.navigationController?.navigationBar.prefersLargeTitles = true;