(iphone)当用户界面更新频繁时,如何显示活动指示器?
我试图在频繁的UI更新时显示活动指示器 我最初失败的尝试是 在视图1中显示活动指示器 pushViewController创建此viewController的视图需要很长时间 当view1的VIEWDID消失时当pushViewController的push动画 发生,隐藏活动指示器 问题是,尽管我在推送viewController之前调用了ShowActivityIndicator,但由于在创建被推送的viewController视图时出现了繁重的UI,所以ActivityIndicator并没有显示 我像贝娄一样改变了策略,它奏效了,我不明白为什么 PushView控制器 在viewController的viewDidLoad处显示活动指示器 ViewDid上的重UI加载是否显示和隐藏指示器 我的印象是,第一个方法中没有显示该指示器的原因是因为UI过程繁重。 请参阅链接中的讨论。 如果队列上过多的UI更新导致延迟的UI更新指示器未显示,为什么第二种方法会有所不同 我知道只有在创建视图时才会调用viewDidLoad。 当视图实际显示在屏幕上时,会调用ViewDidAspect。因此可以多次调用 但是有没有一个根本性的区别可以解释为什么在我的情况下使用ViewDidAspect的第二种方法有效 除了所谓的主线程,还有UI更新线程吗? 或者主线程是UI更新线程(iphone)当用户界面更新频繁时,如何显示活动指示器?,iphone,viewdidload,viewdidappear,Iphone,Viewdidload,Viewdidappear,我试图在频繁的UI更新时显示活动指示器 我最初失败的尝试是 在视图1中显示活动指示器 pushViewController创建此viewController的视图需要很长时间 当view1的VIEWDID消失时当pushViewController的push动画 发生,隐藏活动指示器 问题是,尽管我在推送viewController之前调用了ShowActivityIndicator,但由于在创建被推送的viewController视图时出现了繁重的UI,所以ActivityIndicator并
谢谢首先,我想确保您正在主线程上更新UIKit UI。这是必须的,在使用UIKit时不应该指定线程,除非您说使用主线程,但我认为这是多余的
我会在视图中启动活动指示器,并显示。然后在viewDidLoad中加载所有其他内容。谢谢您的建议,是的,我正在主线程中进行UI更新。我以为viewWillAppear会因为一个视图外观而多次被调用。VIEWDID只调用一次。为什么ViewWill看起来是更好的选择?我是否应该维护一个bool变量以不加载多个指示器视图,因为viewwillbeen会被多次调用?使用if语句查看活动指示器是否正在设置动画。如果不是,则设置动画。您的活动指示器应该已经创建好了,如果它在nib中的话,它会非常有用。只要在调用ViewWillDisplay或ViewDidDisplay时将其设置为visible and animating(可见和动画),如果这更适合您的应用程序,并且当UI完全加载时,将活动指示器设置为停止动画和不可见。