我的代码在iOS7及以下版本中运行得非常好。 但是对于xcode6和iOS8,UIModalTransitionStylePartialCurl无效。当视图出现时,页面卷曲以小数秒的形式消失。
MyViewController* opts = [[MyViewController alloc] initWithView:someView];
opts.modalPresentationStyle = UIModalPresentationFullScreen;
opts.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentViewController:opts animated:YES completion:nil];
[编辑] - 我发现如果构建完成xCode5.1并在iOS8上运行,则按预期工作。 xCode6和iOS8构建有问题吗?
答案 0 :(得分:1)
从评论中的第一个链接复制(我在该帖子中的解决方案)。
我遇到了同样的问题并且我应用了此修复程序,它在iOS 8和Xcode 6上适用于我。
[_mapToolbarController setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[self presentViewController:_mapToolbarController animated:YES completion:^{
[_mapToolbarController.view.superview addSubview:self.view];
}];
显然,_mapToolbarController将是您要呈现的控制器。要了解您为什么需要这个,请在完成处理程序的行中添加断点。做动画,你会在完成处理程序中看到卷曲动画刚刚完成,一切都很好。出于某种原因,我无法解释,在iOS 8中,您需要告诉iOS框架" keep"卷曲的视图,并确保它不会被扔掉。完成处理程序中的代码尝试"保持"即将褪色的卷曲视图进入屏幕。请注意,在此上下文中,self.view是正在卷曲的视图。