Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 固定顶部菜单栏_Ios_Menu - Fatal编程技术网

Ios 固定顶部菜单栏

Ios 固定顶部菜单栏,ios,menu,Ios,Menu,我想在iOS应用程序中实现一个顶部菜单栏。我希望它显示在每个视图控制器中。除了使用导航控制器中的工具栏外,还有什么最好的方法?iOS内置了一些功能,允许您在许多视图控制器中保留UI。当前,UITabBarController和UISplitViewController在底部或左侧包含视图,并在链接到要显示的其他视图控制器中保留。UINavigationcontroller在顶部有一个视图。如果你想要别的东西,那么没有标准的iOS方式,但是这里有3个选项 创建一个所有类都从该类继承的主视图控制器类

我想在iOS应用程序中实现一个顶部菜单栏。我希望它显示在每个视图控制器中。除了使用导航控制器中的工具栏外,还有什么最好的方法?

iOS内置了一些功能,允许您在许多视图控制器中保留UI。当前,UITabBarController和UISplitViewController在底部或左侧包含视图,并在链接到要显示的其他视图控制器中保留。UINavigationcontroller在顶部有一个视图。如果你想要别的东西,那么没有标准的iOS方式,但是这里有3个选项

  • 创建一个所有类都从该类继承的主视图控制器类。在分配主类时,通过单例重新创建并添加为子视图的要持久化的ui
  • 顶栏可以作为子视图添加到UINavigationController。子类uinavigationcontroller,您可以执行
    [self.view addSubview:view]
  • 或者将ui添加到应用程序的窗口中。这可以通过应用程序在任何地方完成,您只需执行
    UIWindow*keyWindow=[[UIApplication-sharedApplication]keyWindow];
    [keyWindow addSubview:视图]

  • 我建议使用选项2,选项1对于如此简单的东西来说太单调了,选项3将贯穿整个应用程序,选项2将您添加的视图与UINavigationController关联,因此只有导航控制器中的视图控制器受到影响,与wise一样,如果删除导航控制器,内容也会随之删除。

    如果希望在每个视图控制器中使用它,则应使用tabbar controller,而不是顶部菜单栏。