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

问题描述

| 我正在构建一个iPhone应用程序,我对于应该为视图和控制器选择哪种方法感到困惑。 我想在底部一个带有三个选项的标签栏。我还希望在应用显示时(连同标签栏一起)显示一个主视图,但我不希望该视图成为标签栏选项的一部分。 因此,当应用程序启动时,选项卡栏没有选择任何选项,而是显示了主视图。选择选项卡选项时,在其顶部栏中,应在主视图中显示一个后退按钮。当按下后退按钮时,将再次显示主视图,而未选择任何选项卡选项。 我应该选择哪种方法? 希望有道理。 谢谢。     

解决方法

        您可能应该阅读Apple的《人机界面指南》,因为如果他们认为使用TabBarController的这种实现方式令人困惑,他们可能会拒绝您的App。 作为替代方案,您可以使用顶部导航栏中的按钮访问“主视图”,然后将其添加到所有三个选项卡中。不一定是更好的设计,但您可能不会违反准则。 更好的选择可能是使用底部的UIToolBar而不是选项卡栏,该选项卡栏具有三个按钮,它们以模态方式生成视图,然后可以按照您的建议将其关闭。 但是请记住,您的App用户已经掌握了通常应该如何导航,感觉和控制的知识,因此您在决定不遵守该要求之前应该仔细考虑。     ,        我了解您要执行的操作,但您不应该这样做。我根本不喜欢这种设计。每个选项卡应该有一个导航控制器。     ,        首先,我认为您应该重新考虑为主视图提供自己的标签。这样一来,用户就可以轻松返回该屏幕。但是,如果您仍然不喜欢这个主意,请继续阅读... UITabBarController具有不幸的副作用,即一旦创建就无法将其删除(即使您通过以编程方式实例化它来延迟其创建)。 所以... 选项1:将MainView设为modalPresentation子视图,在选项卡栏中的其中一个视图的顶部显示该视图(隐藏这些选项卡,直到您准备再次显示它们为止)。 选项2:为您的第一个标签提供子视图... mySubViewController.hidesBottomBarWhenPushed = YES; 这将使UITabBarController暂时消失(仅在该视图上,直到您准备再次显示选项卡为止)。 这两种选择对我来说似乎都是一团糟,但是它们是可能的。我想这取决于您执行它们的能力。 希望这可以帮助!     ,        您可以将主视图添加为另一个选项卡。 要么 当应用程序重新启动时,您可以在选项卡视图上方以模态显示主视图。 如果视图与选项卡具有相同类型的内容,则将使用第一个选项,例如,如果应用程序是在线商店,则选项卡将是“类别”,“搜索”和“最近添加的”,即所谓的“主视图” \“作为主页(显示报价或其他内容)。 (因此所有视图/标签都将在商店中显示产品) 如果主视图的内容与选项卡不同,则第二个选项将更多。 与在线商店示例相同,如果选项卡是“类别”,“搜索”和“最近添加”,并且您称为“主视图”的是登录/注销屏幕。 (因此标签将显示产品,但模式视图(“主视图”)与管理员的关系更大,并且其主要目的不是显示产品。