看板 KnucklesNote
作者 Knuckles (站長 那克斯)
標題 [Xcode][Swift3] 調整 Navigation Bar 顏色
時間 2017-03-17 Fri. 18:33:30


修改 Navigation Bar 的顏色

在 storyboard 點一下 Navigation Controller 裡的 Navigation Bar
在屬性檢視器,取消勾選「Translucent」不要加上透明度
Bar Tint 選深藍色(#000080) 就是整條的背景色
Title Color 選白色,代表顯示文字的顏色
Tint 選白色,代表圖示的顏色


只要調整 Naviation Bar 的屬性檢視器後,就會跳出一個警告訊息
「Frame for "Navigation Bar" will be different at run time.」
就算把設定改回來也不會消失,應該是個 bug

不過只要在 Navigation Controller 的屬性檢視器
取消勾選「Adjust Scroll View Insets」然後再勾回來
錯誤訊息就會消失了... 參考 StackOverflow


執行結果



修改狀態列的顏色

發現上方狀態列使用黑色會看不清楚
要改成白色的話,參考 StackOverflow

到專案設定的 Info 點一下任意一項後面的✚


輸入「View controller-based status bar appearance」後按 Tab 選「NO」


在專案設定的 General 將 Status Bar Style 改為「Light」


執行結果



修改 TableView 的顏色

Table View 的屬性檢視器
將 Separator 的顏色改為 Dark Gray Color
View 的 Background 改為 Black Color

Table View Cell 的屬性檢視器
Selection 可以選擇選取的顏色,但只有 Blue, Gray, Default 可以選
View 的 Background 改為 Black Color

某些iOS版本在 storyboard 設定 Table View Cell 的背景色會失效
所以最好在 tableView(_:cellForRowAt:) 裡再加上
        cell.backgroundColor = UIColor.black


要自訂選取的顏色的話,要修改程式
在 tableView(_:cellForRowAt:) 加上
        let cellBackgroundView = UIView()
        cellBackgroundView.backgroundColor = UIColor.dark.Gray
        cell.selectedBackgroundView = cellBackgroundView

執行結果



修改 WebView 顏色

要將 WebView 背景改為黑色,避免網頁載入前顯示白色
在 WebView 的屬性檢視器將 Background 設為 Black Color
並且取消勾選「Opaque」



--
--
※ 作者: Knuckles 時間: 2017-03-17 18:33:30
※ 編輯: Knuckles 時間: 2017-05-17 01:16:53