我正在为iPhone开发一款益智游戏,使用核心图形在单个UIView中实现drawrect。
我想添加一个从UIButton事件处理程序打开的菜单。
我不确定是否应该通过代码执行此操作,例如有一个menuopen标志并调整绘图例程和点击事件处理程序(手动实现)或转到UINavigationController路由并有一个完全独立的视图,我将在按钮事件的UINavigationController中假设该视图。
目前我的音乐和声音内容属于我游戏中“主要”UIView的附加类,并通过ViewDidLoad初始化。
非常感谢任何建议。
答案 0 :(得分:2)
您绝对应该将菜单代码放在不同的视图对象中。不要只是在菜单模式下重绘现有视图。这将使你的代码变得不必要地复杂化。
但是,您不必使用UINavigationController将一个视图替换为另一个视图。您自己编写代码以删除游戏视图(removeFromSuperview
)并将菜单视图(addSubview:
)添加到应用程序窗口,如果需要,可使用过渡动画。
您还可以使用UIViewController的presentModalViewController:
方法在菜单视图顶部推送菜单视图。
很难说完全你需要做什么而不了解你的代码,但你应该绝对肯定将不同的东西保持为不同的类,而不是制作一个根据模式标志执行许多操作的类。