自定義 Navigation Bar 的屬性

hbxue 8年前發布 | 11K 次閱讀 Xcode iOS開發 移動開發 Storyboard

眾所周知,Navigation Bar 的外觀可以進行自定義,在本節教程中,將介紹如何改變其背景顏色、tint 顏色,以及給 Navigation Bar 添加圖片。本節教程使用 Xcode 8.2.1 和 iOS 10.2。

打開 Xcode,創建一個 Single View Application。

Product Name 使用 IOS10CustomizeNavBarTutorial ,填寫自己的 Organization Name 和 Organization Identifier,Language 一欄選擇 Swift,Devices 選擇 iPhone。

想在 Navigation Bar 上放一個圖片, 下載 圖片。打開 Assets Library,把圖片拖拽到 Assets Library 里。找到 Storyboard ,選中 View Controller,在頂部的 Editor 菜單欄中選擇 Embed in -> Navigation Controller。接下來,從 Object Library 上拖拽一個 Bar Button 放到 Navigation Bar 的左邊,命名為 “Left Item”,重復相同的步驟,在 Navigation Bar 的右邊放置一個 Bar Button,命名為 “Left Item”。Storyboard 應該如下圖所示。

找到 ViewController.swift 文件,添加 ViewDidAppear 方法。

override func viewDidAppear(_ animated: Bool) {
    // 1
    let nav = self.navigationController?.navigationBar

    // 2
    nav?.barStyle = UIBarStyle.black
    nav?.tintColor = UIColor.yellow

    // 3
    let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
    imageView.contentMode = .scaleAspectFit

    // 4
    let image = UIImage(named: "Apple_Swift_Logo")
    imageView.image = image

    // 5
    navigationItem.titleView = imageView
}
  1. 創建一個 nav 變量,節省代碼量。
  2. Navigation Bar Style 設置成 black,tint color 設置成 yellow,也會導致 bar button item 變成黃色。
  3. 創建一個寬和高為 40 point 的 Image View,contentMode 設置成 scaleAspectFit,來調整 Image View 的圖片尺寸。
  4. 將 Swift Logo 圖片放置到 Image View 中。
  5. 將 ImageView 設置成 Navigation Item 的 titleView。

運行工程看一下自定義后的 Navigation Bar。

 

 

來自:http://swift.gg/2017/04/10/customizing-navigation-bar-ios-tutorial-ios10/

 

 本文由用戶 hbxue 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!