設定表格 cell 點選時的背景顏色
Published in
Jul 3, 2018
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 點選時的背景圖片呢。