Untitled
unknown
swift
a year ago
2.9 kB
11
Indexable
final class SomeView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setupView()
}
private func setupView() {
backgroundColor = .black
let stack = UIStackView()
stack.axis = .horizontal
stack.alignment = .center
stack.translatesAutoresizingMaskIntoConstraints = false
stack.isLayoutMarginsRelativeArrangement = true
stack.directionalLayoutMargins = .all(16.0)
addSubviews(stack)
NSLayoutConstraint.activate([
stack.leadingAnchor.constraint(equalTo: leadingAnchor),
stack.trailingAnchor.constraint(equalTo: trailingAnchor),
stack.topAnchor.constraint(equalTo: topAnchor),
stack.bottomAnchor.constraint(equalTo: bottomAnchor)
])
let label = UILabel()
label.textColor = .white
label.text = "Hello, world"
label.textAlignment = .center
label.translatesAutoresizingMaskIntoConstraints = false
stack.addArrangedSubview(label)
}
}
final class KekViewController: UIViewController {
let table = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
table.alwaysBounceVertical = true
table.translatesAutoresizingMaskIntoConstraints = false
table.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
table.rowHeight = 80.0
table.dataSource = self
table.contentInsetAdjustmentBehavior = .never
view.addSubview(table)
NSLayoutConstraint.activate([
table.leadingAnchor.constraint(equalTo: view.leadingAnchor),
table.trailingAnchor.constraint(equalTo: view.trailingAnchor),
table.topAnchor.constraint(equalTo: view.topAnchor),
table.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
}
}
extension KekViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
15
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
let view = SomeView()
cell.contentView.subviews.forEach { $0.removeFromSuperview() }
cell.contentView.addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
view.leadingAnchor.constraint(equalTo: cell.contentView.leadingAnchor),
view.centerYAnchor.constraint(equalTo: cell.contentView.centerYAnchor)
])
return cell
}
}Editor is loading...
Leave a Comment