在基于标签栏的应用程序上添加导航栏
我有一个基于标签栏的应用程序,我想在应用程序的顶部添加导航栏。 请注意,我正在使用名为PageMenu的库,在一个父ViewController内部创build两个TableView。
我试过的是,添加一个新的ViewController和编辑器 – >embedded导航栏。 将其放在Tab Bar Controller之前,按住Ctrl +拖动到Tab Bar Controller来设置根视图的关系。 最后将导航栏控制器设置为初始视图控制器。 但是,这样的失败:
(顶部变得很奇怪,模糊,PageMenu的子标题消失了,也许是在模糊的事情,因为我仍然可以在2个表视图之间滑动。
其次,我尝试删除导航控制器,并手动添加导航栏到ViewControllers。 这适用于表格视图和视图控制器,但不是PageMenu。 当我在PageMenu控制器上尝试它时,它没有显示任何导航栏。
请注意,在Demo中,他们使用Navigation Bar作为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,我也试过了:
但同样的问题:
你也可以创build像故事板,这有助于解决你的问题。
在这里,我可以创build示例代码,你不想单行代码改变,但只改变成故事板。
从这里下载源代码。
在标签栏控制器添加编辑器 – >embedded导航栏之前,在导航栏中添加“编辑器” – >“embedded”。
因为它的工作对于特定的Tab Vise,所以我们必须在View控制器之前添加Editor-> Embed in Navigation Bar