作者:Arthur Knopper,原文鏈接,原文日期:2017-03-06
譯者:Crystal Sun;校對(duì):walkingway;定稿:CMB
眾所周知,Navigation Bar 的外觀可以進(jìn)行自定義,在本節(jié)教程中,將介紹如何改變其背景顏色、tint 顏色,以及給 Navigation Bar 添加圖片。本節(jié)教程使用 Xcode 8.2.1 和 iOS 10.2。
打開(kāi) Xcode,創(chuàng)建一個(gè) Single View Application。
Product Name 使用 IOS10CustomizeNavBarTutorial,填寫自己的 Organization Name 和 Organization Identifier,Language 一欄選擇 Swift,Devices 選擇 iPhone。
想在 Navigation Bar 上放一個(gè)圖片,下載圖片。打開(kāi) Assets Library,把圖片拖拽到 Assets Library 里。找到 Storyboard ,選中 View Controller,在頂部的 Editor 菜單欄中選擇 Embed in -> Navigation Controller。接下來(lái),從 Object Library 上拖拽一個(gè) Bar Button 放到 Navigation Bar 的左邊,命名為 “Left Item”,重復(fù)相同的步驟,在 Navigation Bar 的右邊放置一個(gè) Bar Button,命名為 “Left Item”。Storyboard 應(yīng)該如下圖所示。
找到 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
}
- 創(chuàng)建一個(gè) nav 變量,節(jié)省代碼量。
- Navigation Bar Style 設(shè)置成 black,tint color 設(shè)置成 yellow,也會(huì)導(dǎo)致 bar button item 變成黃色。
- 創(chuàng)建一個(gè)寬和高為 40 point 的 Image View,contentMode 設(shè)置成 scaleAspectFit,來(lái)調(diào)整 Image View 的圖片尺寸。
- 將 Swift Logo 圖片放置到 Image View 中。
- 將 ImageView 設(shè)置成 Navigation Item 的 titleView。
運(yùn)行 工程看一下自定義后的 Navigation Bar。
可以從 github 上下載 IOS10CustomizeNavBarTutorial 教程的源碼。
本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權(quán),最新文章請(qǐng)?jiān)L問(wèn) http://swift.gg。