所以我試圖創建一個應用程序,但我試圖避免使用故事板。因此,只需使用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插座連接到導航欄控件中已存在的導航項目。然後設置標題,左鍵和右鍵。沒有工作
- 在上面定義的
rootVC
中,直接在AppDelegate中設置標題和按鈕。沒有工作。
- 在上面定義的
任何想法我失蹤了?