首先你需要一个滚动视图来使用 UIRefreshControl,否则你怎么能把它拉下来。所以让我们稍后再说。您的第二部分有点难以回答,因为您定义了如何更新它,如果没有更多信息或代码快照,将不容易为您提供帮助。但是我可以说你应该创建更新其他表格视图的函数,这样当刷新控件被“激活”时,这些函数就会被调用。
你可以这样调用函数:
yourRefreshControl.addTarget(target: Any?, action: #Selector, for: UIControlEvents)
如果您不确定 addTarget 函数是如何工作的,here 是 StackOverflow 上的一个问题,可能会有所帮助
现在进入第二部分。要将 UIRefreshControl 添加到 UIPageViewController 您需要首先设置一个 scrollView 作为控件查看器的子视图,您可以在 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,将它作为一个子视图添加到scrollView,并为refreshControl 添加目标。如前所述,refreshControl 的目标应该是处理 tableViews 更新的函数
你好 - 豪尔赫