表格视图单元格的快速底部边框消失

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

有时这种奇怪的行为是由默认选择样式引起的。

【讨论】:

以上是关于表格视图单元格的快速底部边框消失的主要内容,如果未能解决你的问题,请参考以下文章

如何更改分组的表格视图单元格的背景?

带有自定义表格视图单元格的表格视图在滚动时消失

设置表格视图单元格的高度以匹配底部到标签栏顶部

当我向下滚动表格视图时,隐藏单元格的复选标记消失了

ios 7 uitableview 所选单元格在 beginupdates 后失去边框

滚动单元格时表格视图设置消失