UIModalTransitionStylePartialCurl不适用于iOS 8

我有与iOS7和以下版本绝对正常的代码。 但与Xcode6和iOS8 UIModalTransitionStylePartialCurl不起作用。 出现在第二卷的页面curl消失。

MyViewController* opts = [[MyViewController alloc] initWithView:someView]; opts.modalPresentationStyle = UIModalPresentationFullScreen; opts.modalTransitionStyle = UIModalTransitionStylePartialCurl; [self presentViewController:opts animated:YES completion:nil]; 

[编辑] – 我发现,如果构build完成xCode5.1并在iOS8上运行,按预期工作。 xCode6和iOS8有什么问题?

从评论中的第一个链接复制(我在该post中的解决scheme)。

我有同样的问题,我应用此修复程序,它适用于我在iOS 8和Xcode 6。

  [_mapToolbarController setModalTransitionStyle:UIModalTransitionStylePartialCurl]; [self presentViewController:_mapToolbarController animated:YES completion:^{ [_mapToolbarController.view.superview addSubview:self.view]; }]; 

显然,_mapToolbarController将是你想要呈现的控制器。 要明白为什么你需要这个,在完成处理程序的行中添加一个断点。 做animation,你会看到在完成处理程序,冰壶animation刚刚完成,一切都很好。 出于某种原因,我无法解释,在iOS 8中,您需要告诉iOS框架“保持”curl视图,并确保它不会被扔掉。 完成处理程序中的代码试图将即将消失的curl视图“保留”在屏幕上。 请注意,在这种情况下,self.view是正在curl的视图。