修复了顶部菜单栏

时间:2014-02-06 12:28:17

标签: ios menu

我想在iOS应用中实现顶级菜单栏。我想让它显示在每个视图控制器中。除了使用导航控制器中的栏之外,最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

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

  1. 创建一个主视图控制器类,所有类都继承自此类。拥有你希望通过单例重新创建的内容,并在分配主类时添加为子视图。
  2. 可以将顶栏添加为UINavigationController的子视图。子类uinavigationcontroller你可以做[self.view addSubview:view]
  3. 或者将ui添加到应用程序的窗口中。这可以通过应用程序在任何地方完成,只需UIWindow* keyWindow = [[UIApplication sharedApplication] keyWindow]; [keyWindow addSubview:view];
  4. 即可

    我建议使用选项2,选项1对于这么简单的事情太繁琐而且选项3会在整个应用程序中持续存在,选项2将您添加的视图与UINavigationController相关联,因此只有视图控制器在导航控制器会受到影响,如果您删除导航控制器的内容随之而来。