swift - 使用参数以编程方式创建 TableView - swift

标签 swift uitableview lazy-loading

当我创建这样的表格 View 时,参数背景颜色、分隔符样式不适用。

lazy var tableView: UITableView = {
    let tv = UITableView(frame: .zero)
    tv.delegate = self
    tv.dataSource = self
    tv.separatorStyle = .none
    tv.alwaysBounceVertical = false
    tv.backgroundColor = .clear
    if #available(iOS 11, *) {
        tv.dragDelegate = self
        tv.dragInteractionEnabled = true
        tv.dropDelegate = self
    }
    tv.tableFooterView = UIView(frame: CGRect.zero)
    tv.register(AddressCell.self, forCellReuseIdentifier: cellId)
    return tv
}()

init方法,为view添加table view

override init(frame: CGRect) {
    super.init(frame: frame)

    setupViews()
}

private func setupViews() {

    backgroundColor = .clear

    addSubview(tableView)
    tableView.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint.activate([tableView.leftAnchor.constraint(equalTo: leftAnchor),
                                 tableView.rightAnchor.constraint(equalTo: rightAnchor),
                                 tableView.topAnchor.constraint(equalTo: topAnchor),
                                 tableView.bottomAnchor.constraint(equalTo: bottomAnchor)])
}

Sample Image

你能向我描述一下我做错了什么吗?

最佳答案

分隔符样式将在layoutSubviews中设置,因为它是在加载单元格时渲染的。至于背景颜色。尝试在 tv.contentView.backgroundColor

上设置它

关于swift - 使用参数以编程方式创建 TableView - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51436620/

相关文章:

ios - 在 Swift 中选择“继续”按钮时检查 TableView 中是否有空行

ios - 我可以为 iOS 应用程序和网站使用一个解析数据库吗? - 使用 swift

tomcat - Spring 框架 Tomcat LoadTimeWeaving

使用后退按钮时移动浏览器上的 jQuery 延迟加载

swift - 访问元素给定结构 UnsafeMutablePointer

ios - 如何只修改表格 View 的一个自定义单元格的属性?

ios - 在 firestore 中添加新 key 时应用程序崩溃

swift - 仅当 Preferences.app 打开时发送 settingsChangedNotification (Swift - OSX)

ios - fatal error : Unexpectedly found nil while unwrapping an Optional value error in UITableViewCell?

javascript - 使用延迟加载图像的 Leaflet bindpopup()