0

我是一名初出茅庐的 iphone 开发人员,正在尽我所能,但我对 UINavigationController 有疑问。

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

  • 第一个选项卡有五个 UIButton,每个都加载应用程序的不同“部分”,每个部分都有多个视图。

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

  • 当用户在我的第一个选项卡上选择任何 UIButtons 时,我正在使用 [self.view addSubview: xxxxx];

当用户离开这个视图时,我使用 [self.view removeFromSuperview];

我的问题是:

这是做事的坏方法吗?我应该使用导航控制器吗?我没有使用的原因是因为我想要一个自定义外观的 UI,并且我知道导航控制器会稍微强制您的设计。

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

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

干杯

汤姆

4

2 回答 2

2

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

于 2009-11-16T12:33:35.380 回答
1

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

NavigationController 为您提供了更多的灵活性:假设您想在 2.0 版中点击其中一个按钮后添加另一个层次结构级别。然后你会发现你的 MainView 会随着你不断添加视图而增长。UINavigationController 使您的代码结构良好,并允许您在以后扩展导航。

CoreData 非常灵活且独立于 UI。你不应该担心这个。

于 2009-11-16T13:41:47.770 回答