2011-08-30 42 views
0

经过多个小时寻找工作视图切换代码后,我终于在YouTube上找到了a great tutorial。这正是我需要按下按钮时切换视图所需的。切换iPhone应用程序的视图 - 这是正确的方式?

我只是想知道该视频中使用的技术是否有效。所使用的代码切换屏幕是

viewsViewController *second = [[viewsViewController alloc] initWithNibName:nil bundle:nil]; 
[self presentModalViewController:second animated:YES]; 

凡viewsViewController(或用于有任何类)是一类的UIViewController的子类。该类是通过单击文件>新建文件>添加UIViewController子类来完成的。

此方法是否按照Apple指导原则?这种方法是否记忆友好?

我当然希望这项技术是有效的。所有其他的例子包含的信息太少,所以我不能让这个例子工作。这是非常时尚的短代码工作。

回答

0

这是一种方法。当您以模态方式呈现视图控制器时,有一些期望视图控制器将在某个时刻消失,并且用户将返回到父视图控制器。

另一种选择是使用UINavigationController,您可以向其发送-pushViewController:animated:消息。

还有一种方法是当用户点击相应的选项卡时让UITabBarController切换视图控制器。

另外一个:你可以设置窗口的rootViewController属性,此时窗口会将视图控制器的视图添加为自己的子视图。

您最好打赌是通读View Controller Programming Guide for iOS

+0

感谢您的回应家伙。 – Rick

+0

当您在第一段中提到“期望”时。你是指对用户或程序的期望吗? 如果可能,我不想在顶部或底部显示导航栏。我可以避免并仍然使用控制器吗?我会看看我能否弄清楚。谢谢@caleb! – Rick

+0

@Rick:两者。您通常以模态方式呈现视图控制器以响应某些临时情形:从用户请求信息,插入信息,更改设置等。调用'-presentModalViewController:animated:'后,您最终会调用'-dismissModalViewController :动画:'。阅读更多[这里](http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html)。是的,你绝对可以使用导航控制器,而不必在顶部显示导航栏。 – Caleb

0

这是一种做法。注意一些问题。这两种观点都将在记忆中,如果它们的尺寸合理,这是可以的。模态视图在父级之上动画。

如果这是您的主要目标,您还可以使用其他模型进行简单导航。我会建议看看UINavigationController,看看是否可以更好地满足您的需求。这可能是浏览视图最常用的方法,并为视图管理提供了许多基础,为您节省了大量的时间。

+0

我的应用程序将有超过20个不同的意见。在顶部和/或底部使用导航并不真正用户友好和美观。尽管在底部会有一个菜单,可以将用户带回到四个主屏幕中的一个。其余的是通过每个视图中的按钮导航。 如果全部存储在内存中,并且在用户转到另一个屏幕时没有释放,这似乎不是一个好的选择。我无法释放所有屏幕?或者释放除根之外的所有东西?如有必要,我可以定义一个根屏幕。 – Rick

相关问题