作者:泉州多棱汽车销售服务有限公司 | 来源:互联网 | 2023-01-30 13:23
根据Apple的说法,刷新控件应该是iOS 11中大标题导航栏的一部分.
当我在故事板中为UITableViewController启用刷新控件时,刷新控件是导航栏的一部分(在拉动刷新时).
我不能在故事板中为所有其他视图(如UICollectionViewController)执行此操作.当我在代码中添加刷新控件作为子视图时,它不是导航栏的一部分:
refreshCOntrol= UIRefreshControl()
collectionView?.addSubview(refreshControl)
它看起来像这样:
如何在我的自定义滚动视图(如UICollectionViewController)中添加刷新控件,以便在使用大标题时导航栏中显示刷新控件?
1> Martin..:
从iOS 10开始,UITableView
并UICollectionView
拥有refreshControl
属性.
所以,而不是:
tableView.addSubview(refreshControl)
你做:
tableView.refreshCOntrol= refreshControl
这应该适用于iOS 11中的新大标题.
请注意,仅当表视图控制器设置为在导航栏后面向上扩展时,这才能正常工作.我的桌面视图没有延伸到导航栏的后面并且弄得一团糟.
值得注意的是`refreshControl`属性实际上是`UIScrollView`,它是`UITableView`和`UICollectionView`的超类.
我无法使其与具有全屏tableView的常规UIViewController一起使用(与UITableViewController没什么区别,只是可控性更高)。刷新控件刚刚显示出来。我必须在表后面添加一个空视图,这样我才能恢复旧功能。