如何在 UIView(不是 UITableView、UICollectionView、UIScrollView)上添加 Pull-to-refresh

Posted

技术标签:

【中文标题】如何在 UIView(不是 UITableView、UICollectionView、UIScrollView)上添加 Pull-to-refresh【英文标题】:How to add Pull-to-refresh on UIView (not a UITableView, UICollectionView, UIScrollView) 【发布时间】:2021-08-03 01:55:31 【问题描述】:

所以我是 ios 开发的新手,我想将下拉刷新行为添加到 UIView。那可能吗?如果有,如何实现?

我看到有几个显示 UITableView、UIScrollView 和 UICollectionView 的 UIRefreshControl 的示例。 ex1

是否可以仅对 UIView 进行拉动刷新行为?

【问题讨论】:

通过你所谓的“UIView”所属的视图控制器来完成。 您可以在 UIView 中添加手势以支持“拉动”动作,并为该动作添加“刷新”操作。实际上手势不会像 UIScrollView 那样自然地工作 @ElTomato,我可以通过视图控制器来看看有什么例子吗? 抱歉...如果没有 UIScrollView 或其表亲之一,我认为这是不可能的。 "... 想要在 UIView 中添加下拉刷新行为。" -- 当你这么说的时候,你的意思是你想让 UI 显示您的视图被“拉下”......旋转器显示......然后视图反弹回来?如果是这样,您是否有理由不想将其放在滚动视图中? 【参考方案1】:

UIScrollView 确实具有内置刷新控制,您可以使用uiscrollview 并将其固定在视图控制器的view 中。这样您就可以使用uirefreshcontrol 中的默认构建。

如果您不想使用内置刷新控件,则必须使用平移手势,并且必须手动实现所有功能,但重新发明***并不明智。

【讨论】:

以上是关于如何在 UIView(不是 UITableView、UICollectionView、UIScrollView)上添加 Pull-to-refresh的主要内容,如果未能解决你的问题,请参考以下文章

如何确定 UIView 是不是已加载 [重复]

如何在 UIView 中嵌入 UITableView?

如何确定当前是不是正在 UIView 中播放动画?

如何以编程方式在 UITableView 上添加 UIView

拖动滚动 UITableView 本身而不是其内容

如何在自定义 UIView 中添加 UITableView?