gpt4 book ai didi

ios - 以编程方式触发时 UIRefreshControl 不刷新

转载 作者:搜寻专家 更新时间:2023-10-31 21:55:46 25 4
gpt4 key购买 nike

我试图在加载 View 时显示刷新控件,以表明我正在从 Parse 获取数据。刷新控件在应用程序运行时正常工作,但我无法从我的应用程序的任何位置以编程方式触发它。这是似乎没有运行的代码:

 override func viewDidAppear(animated: Bool) {
self.refresher.beginRefreshing()
}

这不仅不会运行,而且应用程序中的代码会更改刷新控件的属性。当我在应用程序中使用此代码并显示来自用户交互的刷新器时,刷新控件没有它通常具有的属性标题,也没有运行它应该运行的代码。

最佳答案

我需要在 setContentOffset 和 self.refreshControl?.sendActions(for: .valueChanged) 调用之间添加延迟。如果没有延迟,refreshControl 的 attributedTitle 将不会呈现。

这适用于 iOS 10 (Swift 3):

self.tableView.setContentOffset(CGPoint(x:0, y:self.tableView.contentOffset.y - (self.refreshControl!.frame.size.height)), animated: true)

DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.2, execute: {
self.refreshControl?.sendActions(for: .valueChanged)
})

关于ios - 以编程方式触发时 UIRefreshControl 不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28550021/

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