项目的最佳iPhone应用程序方法

时间:2011-05-27 15:35:16

标签: iphone architecture uiview uiviewcontroller

我正在构建一个iPhone应用程序,我对于我应该为视图和控制器选择哪种方法感到困惑。

我想在底部有一个标签栏,有三个选项。我还希望在应用程序显示时显示主视图(以及标签栏),但我不希望此视图成为标签栏选项的一部分。

因此,当应用程序开始时,标签栏未选择任何选项,但显示主视图。选择标签栏选项后,在其顶部栏中应显示主视图的后退按钮。按下后退按钮时,主视图将再次显示,且未选择任何选项卡栏选项。

我应该选择哪种方法?

希望它有意义。

感谢。

4 个答案:

答案 0 :(得分:1)

我明白你要做什么,但你不应该这样做。我完全不喜欢那种设计。每个选项卡应该有一个导航控制器。

答案 1 :(得分:0)

您应该阅读Apple的Human Interface Guidelines,因为如果他们认为使用TabBarController这样的实现令人困惑,他们可能会拒绝您的应用。

作为替代方案,您可以使用“主视图”,因为您可以通过顶部导航栏中的按钮调用它,然后将其添加到所有三个选项卡。不一定是更好的设计,但你可能不会违反指南。

更好的选择可能是在底部使用UIToolBar,而不是使用Tab键,其中有三个按钮以模态方式生成您的视图,然后可以按照您的建议将其解除。

请记住,您的应用程序的用户已经掌握了应用程序通常应该如何导航,感觉和控制的知识,因此您在决定反对之前应该仔细考虑。

答案 2 :(得分:0)

首先,我认为你应该重新考虑给你的Main View它自己的标签。这样,用户返回该屏幕是明智的选择。但是,如果你仍然不喜欢这个想法,请继续阅读...

UITabBarController有一个不幸的副作用,即一旦创建就无法删除(即使你通过编程方式实例化它来延迟它的创建)。

SO ......

选项1:使MainView成为一个modalPresentation子视图,将其显示在选项卡栏中其中一个视图的顶部(隐藏选项卡,直到您准备好再次显示它们)。

选项2:提供第一个标签的子视图......

mySubViewController.hidesBottomBarWhenPushed = YES;

这将使UITabBarController暂时消失(仅在该视图上,直到您准备好再次显示标签)。

这两种选择对我来说都有点混乱,但它们是可能的。取决于你执行它们的程度,我想。

希望这有帮助!

答案 3 :(得分:0)

您可以将主视图添加为另一个标签。

OR

当应用程序在标签栏视图上启动时,您会以模态方式显示主视图。

如果视图与选项卡保持相同类型的内容,则会使用更多第一个选项,例如,如果应用程序是在线商店,则选项卡将是“类别”,“搜索”和“最近添加”,以及您所谓的“主视图“是主页(显示优惠或其他内容)。 (因此所有的观点/标签都会在商店展示产品)

如果主视图的内容与制表符不同,则第二个选项会更多。 保持在线商店示例,如果选项卡是“类别”,“搜索”和“最近添加”,则您将“主视图”称为登录/注销屏幕。 (因此选项卡将显示产品,但模式视图(“主视图”)与管理员相关,其主要目的不是显示产品。