【发布时间】:2015-12-04 09:53:21
【问题描述】:
我有一个基于标签栏的应用程序,我想在应用程序顶部添加导航栏。请注意,我正在使用一个名为 PageMenu 的库,它在 1 个父 ViewController 中创建 2 个 TableView。
我尝试的是,添加一个新的 ViewController 和 Editor->Embed in Navigation Bar。放在Tab Bar Controller之前,ctrl+拖动到Tab Bar Controller设置根视图的关系。最后将导航栏控制器设置为初始视图控制器。但这失败了:
(顶部变得非常奇怪,模糊,PageMenu 的子标题消失了。也许是在那个模糊的东西下面,因为我仍然可以在 2 个表格视图之间滑动。
其次,我尝试删除导航控制器,并手动将导航栏添加到视图控制器。这适用于表视图和视图控制器,但不适用于 PageMenu。当我在 PageMenu Controller 上尝试时,它没有显示任何导航栏。
请注意,在 Demo 中,他们使用 Navigation Bar 作为 Parent 和 sub-TableViews,他们用这个以及 Storyboard > Navigation Controller 实现了 Navigation Bar:
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 仅用于标题):
我现在拥有的是这个。我只想像上面的 PageMenu 示例一样在其顶部添加 NavigationBar
【问题讨论】:
-
简而言之,你想要
PageMenu和UITabBarController吗? -
我编辑了问题。请检查以下。我想要的就像 instagram。标题、页面菜单和标签栏。我的 tabBar 和 PageMenu 工作正常,我只是无法添加 NavigationBar