Ios 带有导航栏的自定义选项卡栏控制器

Ios 带有导航栏的自定义选项卡栏控制器,ios,swift,xcode,uiviewcontroller,uitabbarcontroller,Ios,Swift,Xcode,Uiviewcontroller,Uitabbarcontroller,我花了一段时间寻找解决方案,但还没有找到。我想创建一个带有导航栏的选项卡栏控制器,导航栏出现在所有子视图中。据我所知,层次结构不允许这样做,因为选项卡栏在层次结构中比导航控制器(相等?)或更高,因此唯一简单的实现是将选项卡栏控制器的每个子视图嵌入导航控制器中,如下所示: 我想知道是否有任何技术上的原因,为什么它不可能编程一个自定义选项卡栏控制器,功能导航栏。我并没有要求别人为我实现这个,但由于我还没有找到任何库/现有的例子,我想知道在我开始尝试实现它之前,是否有任何技术原因导致这不可能 感谢您

我花了一段时间寻找解决方案,但还没有找到。我想创建一个带有导航栏的选项卡栏控制器,导航栏出现在所有子视图中。据我所知,层次结构不允许这样做,因为选项卡栏在层次结构中比导航控制器(相等?)或更高,因此唯一简单的实现是将选项卡栏控制器的每个子视图嵌入导航控制器中,如下所示:

我想知道是否有任何技术上的原因,为什么它不可能编程一个自定义选项卡栏控制器,功能导航栏。我并没有要求别人为我实现这个,但由于我还没有找到任何库/现有的例子,我想知道在我开始尝试实现它之前,是否有任何技术原因导致这不可能


感谢您的帮助

即使我没有遇到像您这样的解决方案,而且我一直都知道这些解决方案,我也会尝试实施并发送到beta app review

医生说你不应该这么做,苹果公司也不希望你这么做,这可能也会造成问题。 但是如果你不介意的话,你可以做一点修改:只是不要使用TabBarController

  • 在视图中放置一个选项卡栏
  • 使此视图的视图控制器成为选项卡栏委托
  • 响应此视图控制器代码中此选项卡栏上的用户事件

  • 我(几年前)创建了一个解决方案,该解决方案由TabBarController组成,是主细节视图控制器的父视图控制器。由于建立起来有点困难,我使用了一个库名
    ISMViewController

    这看起来有点像黑客,但是它在应用程序审查中获得了批准。在建立了那些简单的场景之后,我向appreview发送了一个项目,其中有一些空按钮和标签,只是为了检查它们是否适合。他们是。然后我开始开发这个控制器方案,它仍然在应用商店中

    如果情节提要中显然不支持执行某些操作,那么这可能不是一个常见的解决方案,或者不是一个好方法。但我不认为这是绝对禁止的。 例如,出于某些原因,iPad的选项卡栏控制器和主细节视图控制器应该是根视图控制器


    在App Review中查看应用程序之后的苹果惯例可以符合这些解决方案,但我一定会尝试。

    感谢您的回复。我没有考虑应用程序审查,因为这是我的第一个iOS项目,不知道布局风格会被仔细检查。来自安卓系统的我发现,不遵守如此严格的设计标准让我耳目一新,让应用程序的风格更具创造性。考虑到对导航类型的限制,听说它可能会受到惩罚是令人不安的。例如,在带有导航抽屉的Android中,拥有10个根选项是很容易处理的,但是iOS选项卡栏控制器无法容纳10个项目而没有溢出,这在指南中是不建议的。