当前位置:  开发笔记 > 后端 > 正文

在基于标签栏的应用程序上添加导航栏

如何解决《在基于标签栏的应用程序上添加导航栏》经验,为你挑选了1个好方法。

我有一个基于标签栏的应用程序,我想在应用程序的顶部添加导航栏.请注意,我正在使用一个名为PageMenu的库,它在1个父ViewController中创建2个TableView.

我尝试的是,添加一个新的ViewController和Editor-> Embed in Navigation Bar.将它放在Tab Bar Controller之前,按住Ctrl键并拖动到Tab Bar Controller以设置根视图的关系.最后将Nav Bar Controller设置为初始视图控制器.但这样做失败了:

在此输入图像描述

(Top变得相当奇怪,模糊,PageMenu的子标题消失了.也许它在那个模糊的东西下,因为我仍然可以在两个表视图之间滑动.

在此输入图像描述

其次,我尝试删除导航控制器,并手动将导航栏添加到ViewControllers.这适用于表视图和视图控制器,但不适用于PageMenu控制器.当我在PageMenu Controller上试用它时,它没有显示任何导航栏.

请注意,在Demo中,他们使用导航栏作为Parent和子TableViews,他们使用它以及Storyboard> Navigation Controller实现了导航栏:

override func viewDidLoad() {
    super.viewDidLoad()

    self.title = "HEADER"
    self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
    self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
  }

最后,我试过..

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

    let nav1 = UINavigationController()
    let first = ViewController(nibName: nil, bundle: nil)
    nav1.viewControllers = [first]

    let second = SecondViewController(nibName: "SecondViewController", bundle: nil)
    let nav2 = UINavigationController()
    nav2.viewControllers = [second]

    let tabs = UITabBarController()
    tabs.viewControllers = [nav1, nav2]

    self.window!.rootViewController = tabs;
    self.window?.makeKeyAndVisible();

    return true
}

但我得到的结果是:

在此输入图像描述

我想要实现的目标(但使用TabBarController; NavBar仅用于标题):

在此输入图像描述

我现在拥有的是这个.我只想在上面添加NavigationBar,就像上面的PageMenu示例一样

在此输入图像描述


更新: Lasly,我也尝试过: 在此输入图像描述

但同样的问题: 在此输入图像描述



1> Nimit Parekh..:

您还可以创建有助于解决问题的明智故事板.

在此输入图像描述

在这里,我可以创建您想要的示例代码,不需要单行代码更改,而只是更改为storyboard.

从这里下载源代码.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有