我有一个基于标签栏的应用程序,我想在应用程序的顶部添加导航栏.请注意,我正在使用一个名为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,我也尝试过:
但同样的问题:
您还可以创建有助于解决问题的明智故事板.
在这里,我可以创建您想要的示例代码,不需要单行代码更改,而只是更改为storyboard.
从这里下载源代码.