【问题标题】:iPhone app, running other code while flipping a viewiPhone应用程序,在翻转视图时运行其他代码
【发布时间】:2010-08-18 16:05:53
【问题描述】:

在 xCode 中,编写一个 iPhone 应用程序,我应该在翻转视图之后/同时放置代码吗?

我似乎遇到了随机崩溃......

{
    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
    controller.delegate = self;

    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:controller animated:YES];

    [controller release];

    ////////////////// Should I not put any code here???
    // Code that takes 0.0001 secs to run?   Or 0.1 secs?   Or 1-2 secs?
}

或者当翻转回来时:

{
    [self.delegate flipsideViewControllerDidFinish:self];   

    ////////////////// Should I not put any code here???
    // Code that takes 0.0001 secs to run?   Or 0.1 secs?   Or 1-2 secs?

}

【问题讨论】:

    标签: iphone xcode uiviewcontroller modal-dialog model-view-controller


    【解决方案1】:

    如果您认为代码可能会影响应用程序的图形性能,您可以使用线程。文档中有一个非常好的指南。查一下。

    但我认为它不会影响性能。您的代码将在 翻转后执行。虽然在图形方面你永远无法完全确定。

    【讨论】:

      【解决方案2】:

      就像@tadej5553 所说,您的代码将在翻转完成后执行。但请记住,如果您放置需要 2 秒执行的代码,则翻转将完成,但 UI 将在这 2 秒内被阻塞且无响应。所以这应该在另一个线程中完成,或者至少使用委托模式。如果您说的时间少于 0.1 秒,那么我认为可以在那里运行它。任何更多和快速的用户都会注意到滞后。如果在操作完成之前无法使用您的视图,那么我仍然会在另一个线程中执行代码,但随后只显示带有UISpinner 且没有按钮的UIAlertView,因此用户无法关闭它。只有当您的代码完成后,它才会关闭 UIAlertView

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-25
        • 2017-02-19
        • 1970-01-01
        • 1970-01-01
        • 2012-05-03
        相关资源
        最近更新 更多