collection如何在iOS11查看大标题导航栏添加刷新控件?
How to add refresh control to collection view large titles navigation bar in iOS 11?
根据 Apple 的说法,刷新控件应该是 iOS 11 中大标题导航栏的一部分。
当我在故事板中为 UITableViewController 启用刷新控件时,刷新控件是导航栏的一部分(拉动刷新)。
我无法在故事板中为所有其他视图(如 UICollectionViewController)执行此操作。当我在代码中添加刷新控件作为子视图时,它不是导航栏的一部分:
refreshControl = UIRefreshControl()
collectionView?.addSubview(refreshControl)
虽然看起来像这样:
如何将刷新控件添加到我的自定义滚动视图(如 UICollectionViewController),以便在使用大标题时刷新控件显示在导航栏中?
编辑:文档已更新,以下信息不再正确。
如 Apple 在 UIRefreshControl 文档中所指定。
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.
如果您的 VC 是 UITableViewController,它将像在系统应用程序中一样工作。
截至 iOS 10,UITableView
和 UICollectionView
有 refreshControl
属性。
所以,而不是:
tableView.addSubview(refreshControl)
你这样做:
tableView.refreshControl = refreshControl
这应该适用于 iOS 11 中的新大 headers。
在我的例子中,我希望 UIView
在 UITableView
下,所以 UITableView
不是视图控制器 view
的第一个子视图。
为了解决这个问题,我更改了 UITableView
和其他 UIView
的顺序
来自
至
现在我只是将视图的 zPosition
设置为低于 UITableView
的 zPosition
的值,这应该使我的视图看起来像在 UITableView
下
myView.layer.zPosition = -1
根据 Apple 的说法,刷新控件应该是 iOS 11 中大标题导航栏的一部分。
当我在故事板中为 UITableViewController 启用刷新控件时,刷新控件是导航栏的一部分(拉动刷新)。
我无法在故事板中为所有其他视图(如 UICollectionViewController)执行此操作。当我在代码中添加刷新控件作为子视图时,它不是导航栏的一部分:
refreshControl = UIRefreshControl()
collectionView?.addSubview(refreshControl)
虽然看起来像这样:
如何将刷新控件添加到我的自定义滚动视图(如 UICollectionViewController),以便在使用大标题时刷新控件显示在导航栏中?
编辑:文档已更新,以下信息不再正确。
如 Apple 在 UIRefreshControl 文档中所指定。
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.
如果您的 VC 是 UITableViewController,它将像在系统应用程序中一样工作。
截至 iOS 10,UITableView
和 UICollectionView
有 refreshControl
属性。
所以,而不是:
tableView.addSubview(refreshControl)
你这样做:
tableView.refreshControl = refreshControl
这应该适用于 iOS 11 中的新大 headers。
在我的例子中,我希望 UIView
在 UITableView
下,所以 UITableView
不是视图控制器 view
的第一个子视图。
为了解决这个问题,我更改了 UITableView
和其他 UIView
来自
至
现在我只是将视图的 zPosition
设置为低于 UITableView
的 zPosition
的值,这应该使我的视图看起来像在 UITableView
下
myView.layer.zPosition = -1