【问题标题】:What's a good way to make a loading UIVIew in between "presentViewController"?在“presentViewController”之间进行加载 UIVIew 的好方法是什么?
【发布时间】:2013-11-08 03:05:03
【问题描述】:

我正在使用 presentViewController(目前)从一个 UIViewController 到另一个,但是当我触摸按钮以到达下一个 UIViewController 时,第一次出现就像第二个“滞后”。

任何人都知道一种简单的方法来制作一个运行 X 时间的“加载屏幕”,然后将呈现所需的 ViewController?这样,延迟就不会真正发生,因为它会被“加载屏幕”所掩盖

提前致谢!!

【问题讨论】:

  • 即使一开始也不应该发生“滞后”,除非您在主线程上执行一些 CPU 密集型操作。在后台线程中执行任何长时间的任务,并在运行时呈现一个 UIActivityView。
  • 好吧,我认为我在“ViewWillAppear”方法中运行的 AudioPlayer 实际上导致了“滞后”,所以我只是通过执行 [self performSelector:@selector(function) withObject:self afterDelay 来解决它:0.5];这允许 ViewController 立即呈现而没有“延迟”,然后 View 在延迟后开始播放歌曲
  • 在那种情况下,这个问题应该被关闭......我的坏哈哈。感谢您对 UIActivityView 的建议

标签: ios iphone objective-c uiview uiviewcontroller


【解决方案1】:

在你的第一堂课中写下这段代码,例如:-

- (IBAction) clickButton:(UIButton *) sender 
    {
        [self performSelector:@selector(presentAnotherView) withObject:nil afterDelay:1.0f];
    }

    - (void) presentAnotherView
    {
        HomeViewController *home = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];

        [self presentModalViewController:home animated:YES];
    }

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多