swift 3 - UIRefreshControl无法在大屏幕上工作

时间:2016-11-09 02:49:59

标签: ios swift3 screen uirefreshcontrol

我有一个UICollectionView,我希望在其中集成UIRefreshControl,以便用户可以向下滑动以刷新。

说我的UICollectionView中有5个项目。如果我在iPhone5中运行我的应用程序,那么UIRefreshControl可以很好地运行。但是,如果我在iPhone6Plus中运行它(所有5个项目都适合屏幕),UIRefreshControl就不再起作用了;我甚至无法轻扫它。

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

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()

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

你有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:6)

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

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

如果您希望UICollectionView始终可滚动。

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