2009-11-16 132 views
0

我是一个新兴的iphone开发人员,尽我所能,但我有一个关于UINavigationController的查询。UINavigationController是否需要?

我有一个标签栏应用程序,3个选项卡。

  • 的第一选项卡具有五个UIButtons,每个加载该应用的不同的“区段”,并且每个部分将具有若干意见。

  • 其他选项卡只显示一些信息。

  • 作为用户选择我的第一个标签上的任何UIButton我正在使用[self.view addSubview:xxxxx];

而随着用户从这个视图导航我使用[self.view removeFromSuperview];

我的问题是:

这是一种糟糕的做事方式吗?我应该使用导航控制器吗?我之所以没有使用过它,是因为我想要一个自定义的UI,并且我明白导航控制器会强制您的设计。

最重要的是,我将使用核心数据来实现持久性存储....我的实现这个应用程序的方式会导致核心数据的问题吗?

有关thsi的任何帮助将不胜感激。

干杯

汤姆

回答

1

正如您所说:当点击五个按钮中的一个时,用户正在导航到另一个视图,五个按钮消失。这是导航控制器的设计目的,并且帮助您更好地管理内存,而不仅仅是添加和删除视图(取决于添加/删除多少视图,它在性能上可能会更好)。正如Ole指出的那样,NavigationController具有高度的可定制性,并且不会造成太大的影响。

NavigationController为您提供了更大的灵活性:假设您想在2.0版本中的某个按钮被点击后添加另一个层级。然后你会发现你的MainView会随着你不断添加视图而增长。一个UINavigationController保持你的代码结构良好,并让你稍后扩展导航。

CoreData非常灵活并且与UI无关。你不应该担心这一点。

+0

感谢您的回应,这帮助我了解了对导航控制器的需求以及对核心数据的影响! – 2009-11-16 16:43:12

2

首先,如果你并不需要一个导航控制器,那么就不要使用它。你不应该为此感到难过。也就是说,我认为UINavigationController根本不会强加一个特定的UI。隐藏导航栏并实现您喜欢的任何UI非常容易。 UINavigationController强加的东西是模块化设计:每个视图都由一个单独的视图控制器管理并占用全屏。只有您可以回答这个设计是否适合您的应用。如果是,并且您的应用是围绕视图层次设计的,则导航控制器可能是一个不错的选择。

+0

感谢您的意见,非常有帮助! – 2009-11-16 16:42:37