有时,当我使用:[self presentViewController:viewController animated:YES completion:nil];或即使模式搜索处理过渡时,它也会弹出而没有任何过渡,使它看起来很丑。很少见的是,当这种情况发生时,每个模态VC都会执行相同的操作,而不管调用的位置/方式如何。当我重新启动应用程序时,问题就解决了,仅此而已,一段时间后再也不会发生。奇怪的是,关闭VC时会有过渡。这是一个错误吗?

感谢您的帮助,问候,
麦克风

更新:我想我找到了原因。当我这样显示我的教程视图时,此错误会影响大多数模态VC和所有Segue模态VC:

    [tableView deselectRowAtIndexPath:indexPath animated:NO];
    TutorialViewController *tutPopUp = [[TutorialViewController alloc] init];
    self.tabBarController.modalPresentationStyle = UIModalPresentationCurrentContext;
    [self presentModalViewController:tutPopUp animated:NO];


我认为问题出在self.tabBarController.modalPresentationStyle = UIModalPresentationCurrentContext;上,这会影响整个标签栏。加载此特定VC后,可以设置为默认值的默认值是多少?

回答:在阅读了Apple Docs之后,我发现默认的modalPresentationStyleUIModalPresentationFullScreen,因此在使用另一个presentationStyle后将其设置为,请对其进行修复。

最佳答案

如果您在设备上遇到此问题,我会想象正在执行一些密集的CPU任务,这会导致主线程阻塞和阻塞。如果在模拟器上,那一刻Mac可能负担太重了。

您说的一件事使我对您的内存管理感到疑惑。您说如果您退出该应用程序,问题会暂时消失。让我认为您的内存泄漏正在影响性能。您在使用ARC吗?

因为您明确要求动画,所以没有理由将动画显示在UIKit级别上。

关于iphone - 模态ViewController弹出而没有动画,错误吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16587679/

10-09 10:00