所以我试图创建一个应用程序,但我试图避免使用故事板。因此,只需使用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中设置标题和按钮。没有工作。
- 在上面定义的
任何想法我失踪了?