【发布时间】:2017-05-01 13:10:24
【问题描述】:
所以我正在尝试创建一个应用程序,但我正在尝试避免使用情节提要。因此,只需使用 swift 文件和 XIB 文件即可。
我之前使用过导航控制器,但我猜还不够。到目前为止,我有这个:
在 AppDelegate 我有:
let homeVC = HomeViewController()
let rootVC = UINavigationController(rootViewController: homeVC)
window!.rootViewController = rootVC
window!.makeKeyAndVisible()
我的视图目前完全是空的,但带有创建新 XIB 文件时附带的基本“视图”屏幕。我已经将它的大小设置为freeform,而其他所有东西,如顶部栏、状态栏都是Inferred。
在我的 HomeViewController.swift 中有:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let nib = UINib(nibName: "HomeView", bundle: nil)
let objects = nib.instantiateWithOwner(self, options: nil)
self.view = objects[0] as! UIView;
print(self.navigationController)
// customize navigation bar
let settingsImage = UIImage(named: "settingsWheelBlack.png")
let settingsNavItem = UIBarButtonItem(image: settingsImage, style: UIBarButtonItemStyle.Plain, target: nil, action: Selector("selector"))
let addStuffItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: nil, action: Selector("selector"))
self.navigationController?.navigationItem.title = "Home"
self.navigationController?.navigationItem.leftBarButtonItem = settingsNavItem
self.navigationController?.navigationItem.rightBarButtonItem = addStuffItem
print(self.navigationController?.navigationBar)
print(self.navigationController?.navigationItem.title)
}
但是当我运行应用程序时,导航栏没有出现。除了我目前拥有的之外,这是我尝试过的:
-
将导航栏控件添加到我的 XIB 并将 IB 插座连接到它。还将 IB 插座连接到导航栏控件中已存在的导航项。然后设置标题,并在其中设置左右按钮。没用
- 立即在 AppDelegate 中为上面定义的
rootVC设置标题和按钮。没用。
- 立即在 AppDelegate 中为上面定义的
任何想法我错过了什么?
【问题讨论】:
标签: swift uiviewcontroller uinavigationcontroller storyboard uinavigationbar