設定表格 cell 點選時的背景顏色

iOS App 的表格點選時,cell 預設將變成灰色。雖然我們可在 Table View Cell 的 Selection 欄位調整顏色,但它的選擇不多,而且還會欺騙我們。(就算改成 Blue,還是顯示灰色。)

其實想要改成其它顏色,比方熱情的橘色也是沒問題的,方法如下:

從 Storyboard 設定

1 將 View 加到畫面上方的 bar 上。

由於 View 被加到 bar 上,而不是 controller 的 view 上,所以它將獨立長在 controller 的 view 旁邊。此 View 只是被生成,但還不會出現在畫面上。

我們希望此 View 成為 cell 被點選時顯示的 background view,接下來我們先將它設為橘色。

2 將 View 的 Background 設為橘色。

3 從 cell 連線到橘色的 view 後,點選 selectedBackgroundView。

Cool,現在表格點選時,真的變成橘色了。

從程式設定

設定 cell 的 selectedBackgroundView。

let selectedBackgroundView = UIView()

override func viewDidLoad() {
super.viewDidLoad()
selectedBackgroundView.backgroundColor = UIColor.orange
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier", for: indexPath)
cell.selectedBackgroundView = selectedBackgroundView
return cell
}

除了顏色,利用此技巧,我們甚至可以設定 cell 點選時的背景圖片呢。

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com