Untitled
unknown
swift
a month ago
2.9 kB
3
Indexable
Never
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 } }
Leave a Comment