iOS 11 UIRefreshControl with NavigationBar LargeTi

2019-02-16 10:38发布

I have a navigationBar with largeTitle and searchcontroller and my tableView has a refreshcontrol.

When I pull to refresh the activityIndicator of refreshcontrol disappear but de refresh process continues, even when the process finish and I call .endRefreshing() of UIRefreshControll the navigationBar doesn't back to the normal size.

enter image description here

Someone with the same problem?

3条回答
beautiful°
2楼-- · 2019-02-16 11:16

Try to use this code snippet:

self.navigationController?.navigationBar.prefersLargeTitles = false
self.navigationController?.navigationBar.prefersLargeTitles = true;
查看更多
够拽才男人
3楼-- · 2019-02-16 11:29

Try

self.extendedLayoutIncludesOpaqueBars = YES;

If you have opaque navigation bars that is. It fixed the issue for me.

查看更多
狗以群分
4楼-- · 2019-02-16 11:40

I searched a solution for this for weeks already and today, I finally made it work. The solution is so simple, I can't believe I haven't found that earlier.

I was using a normal UIViewController with a UITableView. My layout constraints were setup so that the UITableView was pinned with 0 to the bottom and top layout guides like so:

enter image description here

Once I changed that and pinned the UITableView to the Superview with 0 to all edges, it magically started to work:

enter image description here

I didn't even have to setup anything else. I hope so much that this does the fix for you as well because its just so annoying...


If the above doesn't work, than you need in addition to it, set

self.extendedLayoutIncludesOpaqueBars = YES;

or check the "Extend Edges / Under Opque Bar" in the Storyboard

查看更多
登录 后发表回答