gpt4 book ai didi

ios - 在执行 segue 之前如何显示加载指示器?

转载 作者:行者123 更新时间:2023-11-28 08:07:00 25 4
gpt4 key购买 nike

好的,我看过performSegueWithIdentifier very slow when segue is modal并尝试了类似的解决方案,但我仍然遇到问题 - 我在 Swift 中工作,并且根据列表 VC 单元中的点击执行 segue 需要 5-30 秒。它只是卡在那里并选择了栏。

我试着用

加快速度
DispatchQueue.main.async {
self.performSegue(withIdentifier: "toPodcastPlayer", sender: self)
}

然而,这一切并没有使栏选择颜色。如果要发生这种情况,我需要显示加载屏幕,但是当使用此功能进行加载时:

let loadView = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
loadView.backgroundColor = UIColor.green
loadView.center = CGPoint(x: screenSize.width/2, y: screenSize.height/2)
view.addSubview(loadView)

点击时会这样:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

let selectedIndexPath : [IndexPath] = self.myTableView.indexPathsForSelectedRows!



if(self.rssListToLoad[selectedIndexPath[0].row].link != "")
{
showLoading()
self.performSegue(withIdentifier: "toPodcastPlayer", sender: self)
}

if segue.identifier == "toPodcastPlayer" {
// find index path for selected row
let selectedIndexPath : [IndexPath] = self.myTableView.indexPathsForSelectedRows!

// deselect the selected row
self.myTableView.deselectRow(at: selectedIndexPath[0], animated: true)

// create destination view controller
let destVc = segue.destination as! PodcastViewController

// set title for next screen
destVc.adTxtName = "Skylar's Ad"
destVc.urlStr = self.rssRecordList[selectedIndexPath[0].row].link
destVc.trackLabel = self.rssRecordList[selectedIndexPath[0].row].title

还是有延迟。我不明白这一点,因为 View 已经在 storyboard 中创建,只需在下一个 VC 中设置一些变量。这里有什么问题?

我的 segue 类型是模态呈现,而不是弃用。

最佳答案

阅读您的问题后,我在上一个应用程序中遇到了同样的问题,在尝试了很多解决方案后我才知道这是 Apple 的一个 Unresolved 错误,您可以在这里查看更多信息:http://openradar.appspot.com/19563577

注意:请务必在主线程上执行 segue,它将解决呈现 Controller 的“延迟”问题。

这是执行此操作的代码:

    let vc =  controller as! ViewController

vc.modalPresentationStyle = .custom

DispatchQueue.main.async {
self.present(vc, animated: false, completion: nil)
}

关于ios - 在执行 segue 之前如何显示加载指示器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44813475/

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