我有一些用于在视图之间转换的代码。
if (CGRectIntersectsRect(mainSprite.frame, backTopPathImg.frame)) {
levelOneViewController * levelOne2 = [[levelOneViewController alloc]initWithNibName:nil bundle:nil];
[self presentModalViewController:levelOne2 animated:NO];
[levelOne2 changeSpriteLocationTopPath];
}
这使得它只是切换到另一个视图的常规过渡。我的问题是我怎样才能使这个过渡?如同长时间褪色的黑色。请记住,我没有使用导航控制器,只需#importing视图控制器,然后使用上面的代码。谢谢:))
答案 0 :(得分:1)
请参阅UIViewController的modalTransitionStyle
属性。
尝试以下
if (CGRectIntersectsRect(mainSprite.frame, backTopPathImg.frame))
{
levelOneViewController * levelOne2 = [[levelOneViewController alloc]initWithNibName:nil bundle:nil];
levelOne2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:levelOne2 animated:YES];
[levelOne2 changeSpriteLocationTopPath];
}
答案 1 :(得分:0)
我建议在levelOne2
的顶部放置一个黑色背景的UIView,并随着时间的推移将其opacity
从1.0更改为0.0。