gpt4 book ai didi

iphone - View 层次结构刷新时序

转载 作者:行者123 更新时间:2023-12-03 16:56:13 25 4
gpt4 key购买 nike

我正在尝试在进行一些会阻塞 UI 的密集计算之前向我的 View 层次结构添加进度表或其他“我现在很忙”通知。我的代码看起来像这样:

//create view
[currentTopView addSubView:imBusyView];

//some initialization for the intense computation
[computation startComputing];

不幸的是,我的进度表直到计算完成后才显示。看起来 View 在运行循环完成之前不会重新绘制。我非常确定 setNeedsDisplay 和 setNeedsLayout 也会等到运行循环完成。

如何立即显示 View ?

最佳答案

仅当代码将控制权返回给运行循环时才会发生重绘。因此,最简单的方法是安排零延迟的 startComputing 调用。这样,它将在下一次运行循环迭代期间执行(在重绘之后):

[computation performSelector:@selector(startComputing) withObject:nil afterDelay:0.0];

但请注意,除非您在另一个线程中进行计算,否则您将无法在计算期间更新 UI。

关于iphone - View 层次结构刷新时序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1736294/

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