表格视图单元格的快速底部边框消失
Posted
技术标签:
【中文标题】表格视图单元格的快速底部边框消失【英文标题】:Swift Bottom border of TableViewCell dissapearing 【发布时间】:2020-12-20 18:30:45 【问题描述】:我是 Swift 编程新手。我有以下 UI:
每次我单击其中一行时,该行就会消失,我不知道为什么。我刚刚发现每次一行消失时都会调用tableView didSelectRowAt
。
class ToDoListController: UIViewController, UITableViewDelegate, UITableViewDataSource
@IBOutlet var tableView: UITableView!
let toyData = ["1","2","3","4","5"]
override func viewDidLoad()
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
let nib = UINib(nibName: "TableViewCell", bundle: nil)
tableView.register(nib, forCellReuseIdentifier: "TableViewCell")
tableView.backgroundColor = UIColor.init(red: 255/255, green: 214/255, blue: 107/255, alpha: 1)
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
print("do nothing")
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath) as! TableViewCell
cell.textField?.text = "just how?!"
return cell
import UIKit
class TableViewCell: UITableViewCell
@IBOutlet var button:UIButton!
@IBOutlet var textField:UITextField!
override func awakeFromNib()
super.awakeFromNib()
let bottomLine = CALayer()
bottomLine.frame = CGRect(x: 10, y: self.frame.height, width: self.frame.width+70, height: 0.5)
bottomLine.backgroundColor = UIColor.init(red: 253/255, green: 50/255, blue: 39/255, alpha: 1).cgColor
self.layer.addSublayer(bottomLine)
self.backgroundColor = UIColor.init(red: 255/255, green: 214/255, blue: 107/255, alpha: 1)
【问题讨论】:
【参考方案1】:在您的 cellForRowAt 函数中添加以下内容:
cell.selectionStyle = .none
有时这种奇怪的行为是由默认选择样式引起的。
【讨论】:
以上是关于表格视图单元格的快速底部边框消失的主要内容,如果未能解决你的问题,请参考以下文章