How to add refresh control to collection view larg

2019-03-19 05:17发布

According to Apple the refresh control should be part of the large title navigation bar in iOS 11.

The refresh control is part of the navigation bar (on pull to refresh) when I enabled the refresh control in my storyboard for a UITableViewController.

refresh control with large titles

I can not do this in storyboard for all other views like UICollectionViewController. When I add a refresh control in code as a subview it is not part of the navigation bar:

refreshControl = UIRefreshControl()
collectionView?.addSubview(refreshControl)

It looks like this though:

looks like this though

How can I add a refresh control to my custom scroll view like UICollectionViewController in such a way that the refresh control is displayed in the navigation bar when large titles is used?

2条回答
兄弟一词,经得起流年.
2楼-- · 2019-03-19 06:05

EDIT: The documentation has been updated at some point, and below information is not longer true.

As specified by Apple in UIRefreshControl documentation.

Note Because the refresh control is specifically designed for use in a table view that's managed by a table view controller, using it in a different context can result in undefined behavior.

If your VC is a UITableViewController it will work exactly like in system apps.

查看更多
冷血范
3楼-- · 2019-03-19 06:15

As of iOS 10, UITableView and UICollectionView has refreshControl property.

So, instead of:

tableView.addSubview(refreshControl)

you do:

tableView.refreshControl = refreshControl

and this should work for new big headers in iOS 11.

查看更多
登录 后发表回答