swift 3 - UIRefreshControl 在大屏幕上不工作

swift 3 - UIRefreshControl not working in large screen

我有一个 UICollectionView,我想在其中集成一个 UIRefreshControl 以使用户能够向下滑动以进行刷新。

假设我的 UICollectionView 中有 5 件物品。如果我 运行 我的应用程序在 iPhone5 中,那么 UIRefreshControl 工作得很好。但是,如果我在 iPhone6Plus 中 运行 它(所有 5 个项目都适合屏幕),UIRefreshControl 就不再起作用了;我什至无法向下滑动它。

UIRefreshControl 中是否有任何属性可以帮助用户在任何情况下向下滑动,无论屏幕大小如何?我查看了下面的 UIRefreshControl class,但这些似乎无济于事:

public init()


open var isRefreshing: Bool { get }


open var tintColor: UIColor!

open var attributedTitle: NSAttributedString?


// May be used to indicate to the refreshControl that an external event has initiated the refresh action
@available(iOS 6.0, *)
open func beginRefreshing()

// Must be explicitly called when the refreshing has completed
@available(iOS 6.0, *)
open func endRefreshing()

一个丑陋的解决方案是制作一个我不想要的刷新按钮。

你有什么想法吗?

提前致谢

那是因为您的 collectionView contentSize 不够大,无法滚动。 (它小于您的屏幕尺寸)。

UIRefreshControl 仅在您的 scrollView 可滚动时才有效。

如果您想让 UICollectionView 始终可滚动。

alwaysBounceVertical 属性 设置为 true。 (被UIScrollView继承)