gpt4 book ai didi

UIPageViewController 的 Ios 下拉刷新策略

转载 作者:行者123 更新时间:2023-11-28 15:56:57 26 4
gpt4 key购买 nike

我有一个 UIPageViewController,它可以包含 0 到 3 个 UITableViewController 项。打开屏幕时,我的应用程序向后端执行请求,检索可能包含最多 3 个单独数据列表的响应(请注意,无法单独检索列表)。每个列表都显示在 UITableViewController 项目之一中。只有当有数据可显示该 View 时,才会创建这些中的每一个。

问题是,如果出现以下情况,我将如何实现下拉刷新:

  • 可能没有UITableView来提供UIRefreshControl
  • 拉动会刷新寻呼机的所有子级,而不仅仅是当前显示的 UITableView

最佳答案

首先你需要一个Scrollview来使用UIRefreshControl,否则你怎么能把它拉下来。所以让我们稍后再谈。你的第二部分有点难以回答,因为你定义了你想要如何更新它,没有更多信息或代码快照,它不会很容易帮助你。但我能说的是,您应该制作更新其他 TableView 的函数,以便在“激活”刷新控件时调用这些函数。

你可以这样调用函数:

yourRefreshControl.addTarget(target: Any?, action: #Selector, for: UIControlEvents)

如果您不确定 addTarget 函数的工作原理 here是 StackOverflow 上的一个问题,可能有帮助

那么现在进入第二部分。要将 UIRefreshControl 添加到 UIPageViewController,您需要首先将 ScrollView 设置为控件查看器的 subview ,您可以在 Storyboard中执行此操作,在创建它并设置所有约束后创建一个导出到您的 UIPageViewController 类并创建第二个名为的变量refreshControl 或者你想怎么调用它。所以你会有这两个变量:

@IBOutlet weak var scrollView: UIScrollView!
var refreshControll: UIRefreshControl!

然后在 onViewDidLoad 函数中,您只需将 refreshControl 添加到 ScrollView,魔法就会发生:]。为了满足 refreshControl 的要求,将其设置为与此类似:

self.refreshControll = UIRefreshControl()
self.scrollView.addSubview(refreshControll)
refreshControll.addTarget(self, action: #selector(WeatherController.updateWeather), for: UIControlEvents.allEvents)

我们在这里所做的就是创建一个新的 refreshControl,将其作为 subview 添加到 scrollView 并为 refreshControl 添加目标。如前所述,refreshControl 的目标应该是处理 tableView 更新的函数

问候 - 豪尔赫

关于UIPageViewController 的 Ios 下拉刷新策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41591497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com