以下是一个使用表格视图单元的简单示例代码:
首先,创建一个名为MyTableViewCell
的自定义表格视图单元类,继承自UITableViewCell
:
import UIKit
class MyTableViewCell: UITableViewCell {
// 在表格视图单元中添加所需的视图元素
let titleLabel = UILabel()
let descriptionLabel = UILabel()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
// 设置视图元素的属性
titleLabel.font = UIFont.boldSystemFont(ofSize: 16)
descriptionLabel.font = UIFont.systemFont(ofSize: 14)
// 将视图元素添加到表格视图单元中
contentView.addSubview(titleLabel)
contentView.addSubview(descriptionLabel)
// 设置视图元素的布局约束
titleLabel.translatesAutoresizingMaskIntoConstraints = false
descriptionLabel.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
titleLabel.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 8),
titleLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 8),
titleLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -8),
descriptionLabel.topAnchor.constraint(equalTo: titleLabel.bottomAnchor, constant: 4),
descriptionLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 8),
descriptionLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -8),
descriptionLabel.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -8)
])
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
接下来,在视图控制器中使用表格视图,并在tableView(_:cellForRowAt:)
方法中使用自定义的表格视图单元:
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
let tableView = UITableView()
let data = [("Title 1", "Description 1"), ("Title 2", "Description 2"), ("Title 3", "Description 3")]
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
tableView.register(MyTableViewCell.self, forCellReuseIdentifier: "MyCell")
view.addSubview(tableView)
tableView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
tableView.topAnchor.constraint(equalTo: view.topAnchor),
tableView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
tableView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
tableView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell", for: indexPath) as! MyTableViewCell
let (title, description) = data[indexPath.row]
cell.titleLabel.text = title
cell.descriptionLabel.text = description
return cell
}
}
在上述示例中,我们创建了一个自定义的表格视图单元类MyTableViewCell
,并在其中添加了titleLabel
和descriptionLabel
作为视图元素。然后,我们在视图控制器中使用表格视图,并在tableView(_:cellForRowAt:)
方法中使用自定义的表格视图单元。每个表格视图单元都会显示一个标题和描述,这些内容来自data
数组中的元组。最后,我们将表格视图添加到视图控制器的视图中,并设置其布局约束。
这是一个简单的使用表格视图单元的示例,你可以根据自己的需求来添加更多的视图元素或自定义表格视图单元的外观和布局。
上一篇:表格视图不更新
下一篇:表格视图单元的值混合了。