我正在开发一款游戏,我想在几个视图之间切换,例如菜单屏幕,游戏屏幕,游戏结束屏幕等。这样做最简单的方法是什么?我不确定是否应该使用视图堆栈,因为视图显示的顺序并不总是颠倒。如何以编程方式在视图之间切换?
回答
我认为“视图堆栈”是指UINavigationController?
最简单的方法是保持引用的所有视图控制器的地方,比如我看到人们使用应用程序委托很多,所以你的应用程序委托的类扩展看起来有点像:
@interface AppDelegate()
@property (nonatomic, strong) UIViewController *rootViewController; //this is what gets set as the window's root VC
@property (nonatomic, strong) UIViewController *mainScreenViewController;
@property (nonatomic, strong) UIViewController *gameScreenViewController;
@property (nonatomic, strong) UIViewController *gameOverScreenViewController;
@end
假设rootViewController只是控制应用程序其余部分的容器视图(您可能会将所有这些逻辑放入根视图控制器,尽管...)
现在,无论何时您需要显示某个屏幕,一种方法,如:
- (void)switchToViewController:(UIViewController *)viewController
{
[self.rootViewController.view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
[self.rootViewController.view addSubview:viewController.view];
}
现在,您可以编写一个名为更加难忘像-switchToGameOverScreen
- (void)switchToGameOverScreen
{
[self switchToViewController:self.gameOverScreenViewController];
}
方法视图导航的这一基本格局是约UITabBarController
发现并常在UISegmentedControl
●可控制的观点。
希望这有助于!
如果您正在开发在科科斯-2D游戏,场景之间的转换可以做这样的:
[CCDirector sharedDirector] replaceScene:[CCTransitionCrossFade transitionWithDuration:0.5F场景:GAMEOVER现场]]] ;
在这里GameOver是一个新的场景,它追求过渡效果。
有在茯苓-2d中许多其它转变为从一个场景到另一个即 0 CCTransitionCrossFade 1. CCTransitionFade 2. CCTransitionFadeBL 3. CCTransitionFadeDown 4. CCTransitionFadeTR 5. CCTransitionFadeUp 6. CCTransitionFlipAngular 7. CCTransitionFlipX 8. CCTransitionFlipY 9. CCTransitionJumpZoom 10. CCTransitionMoveInB 11. CCTransitionMoveInL 12. CCTransitionMoveInT 13. CCTransitionPageTurn 14. CCTransitionRadialCCW 15. CCTransitionRotoZoom 16. CCTransitionShrinkGrow 17. CCTransitionSlideInB 18. CCTransitionSlideInL 19. CCTransitionSlideInR 20. CCTransitionSlideInT 21. CCTransitionSplitCols 22. CCTransitionSplitRows 23. CCTransitionTurnOffTiles 24. CCTransitionZoomFlipAngular 25. CCTransitionZoomFlipX 26 。CCTransitionZoomFlipY
谢谢
- 1. 如何以编程方式在视图之间切换?
- 2. 视图控制器:如何以编程方式在视图之间切换?
- 3. 以编程方式在视图之间切换
- 4. 以编程方式在iPhone视图控制器之间切换
- 5. 如何以编程方式在SlideMaster和默认视图之间切换?
- 6. 如何以编程方式切换使用视图切换?
- 7. 以编程方式切换视图
- 8. 如何以编程方式在UITabBarController之间切换
- 9. 如何以编程方式切换视图
- 10. Android:以编程方式在3G和GPRS之间切换?
- 11. 以编程方式在两个UIViewControllers之间切换
- 12. 以编程方式在SKScene和View Controller之间切换?
- 13. 以编程方式在片段之间切换
- 14. 以编程方式在选项卡之间切换
- 15. 如何以编程方式在声音和静音模式之间切换?
- 16. 如何以编程方式切换UIsegmentedControll?
- 17. 在视图之间切换
- 18. 如何在Android上以编程方式在3G和4G之间切换?
- 19. 如何以编程方式在dockpanel中切换2个列表视图? [WPF]
- 20. 以编程方式在iOS中的视图之间拖放UIImage
- 21. 以编程方式快速在视图之间创建segue
- 22. iOS7 Autoresize当以编程方式切换视图
- 23. 以编程方式切换MVC视图控制器 - iOS
- 24. 无法使用故事板以编程方式切换视图?
- 25. 以编程方式切换到TabBar选项卡视图?
- 26. iOS之间切换视图
- 27. 视图之间切换
- 28. 以编程方式切换视图控制器时更改切换类型
- 29. 你可以使用RemoteView以编程方式在不同的视图之间切换
- 30. 以编程方式在横向之间切换的方法<-> Android上单个视图的纵向?
好的,谢谢。所以我不应该使用任何storyboard/segue功能? – DanielGibbs
这听起来像是一个体面的选择,如果你不需要支持iOS 4的话(我常常必须这么做,可能为什么我不这样认为);)。这取决于应用程序视图之间的流程有多复杂,以及在故事板中进行建模需要多少工作,而只需在代码中完成。 –
:/我没有意识到故事板只与iOS5 +兼容,当我创建一个默认使用它的新项目时,我不知道该如何去做。 – DanielGibbs