UINavigationController
Usage
navigationItem.largeTitleDisplayMode = .never
navigationController?.navigationBar.prefersLargeTitles = false
/*
导航栏是否透明,如果设置为透明,在计算 view 高度的时候会忽略导航
如果设置为 false,则 view 的高度会忽略导航栏;
如果设置为 true,则 view 的高度会加上导航栏,所以需要手动减去导航栏的高度;
*/
navigationController?.navigationBar.isTranslucent = false
手動建立頁面 ATTACH
第一步先以刪除檔案的方式將 Storyboard 刪除,也就是下圖中列表的這隻檔案 Main.storyboard :
第二步接著看到 Info.plist ,找到並刪除 Main storyboard file base name 這個欄位。
將 General > Deployment Info > Main Interface 這個欄位清空
在 AppDelegat
類別中的 application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
方法中手動加上頁面
建立 UINavigationController
// 在 AppDelegate.swift 中將根視圖控制器設為一個 UINavigationController
func application(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// 建立一個 UIWindow
self.window = UIWindow(frame:
UIScreen.mainScreen().bounds)
// 設置底色
self.window!.backgroundColor = UIColor.whiteColor()
// 設置根視圖控制器
let nav = UINavigationController(
rootViewController: ViewController())
self.window!.rootViewController = nav
// 將 UIWindow 設置為可見的
self.window!.makeKeyAndVisible()
return true
}
// 接著轉到 ViewController.swift 的viewDidLoad()方法中,將導覽列的設定與按鈕設置寫入:
// 底色
self.view.backgroundColor = UIColor.darkGrayColor()
// 導覽列標題
self.title = "首頁"
// 導覽列底色
self.navigationController?.navigationBar.barTintColor =
UIColor.lightGrayColor()
// 導覽列是否半透明
self.navigationController?.navigationBar.translucent = false
// 導覽列左邊按鈕
let leftButton = UIBarButtonItem(
image: UIImage(named:"check"),
style:.Plain ,
target:self ,
action: #selector(ViewController.check))
// 加到導覽列中
self.navigationItem.leftBarButtonItem = leftButton
// 導覽列右邊按鈕
let rightButton = UIBarButtonItem(
title:"設定",
style:.Plain,
target:self,
action:#selector(ViewController.setting))
// 加到導覽列中
self.navigationItem.rightBarButtonItem = rightButton
// 建立一個按鈕
let myButton = UIButton(frame: CGRect(
x: 0, y: 0, width: 120, height: 40))
myButton.setTitle("Article", forState: .Normal)
myButton.backgroundColor = UIColor.blueColor()
myButton.addTarget(
self,
action: #selector(ViewController.article),
forControlEvents: .TouchUpInside)
self.view.addSubview(myButton)
// 在ViewController中加上按鈕執行動作的方法:
func article() {
self.navigationController?.pushViewController(
ArticleViewController(), animated: true)
}
func check() {
print("check button action")
}
func setting() {
self.navigationController?.pushViewController(
SettingViewController(), animated: true)
}