Мне очень трудно установить связь между моей пользовательской ячейкой (TicketCell.swift) и контроллером табличного представления (MarketTableViewController.swift). Итак, в мою таблицу импортируется около 40 ячеек, и я хочу разместить кнопку с правой стороны каждой ячейки
Вот мой код для моей кнопки внутри TicketCell:
lazy var purchaseButton : UIButton = {
let button = UIButton(frame: CGRect(x: self.bounds.width - 30, y: self.bounds.height/2, width: 64, height: 24))
button.addTarget(self, action: #selector(purchaseButtonTapped), for: .touchUpInside)
button.layer.cornerRadius = 4
button.layer.borderColor = UIColor.blue.cgColor
button.layer.borderWidth = 1
button.setTitleColor(.black, for: .normal)
return button
}()
но, как вы можете видеть здесь, он не центрируется так, как я хочу:
Я хочу, чтобы он всегда был справа, независимо от ориентации телефона, а также по центру ячейки по вертикали.
В MarketTableViewControleler я установил высоту каждой ячейки следующим образом:
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}
не может получить доступ к этой переменной высоты из моей пользовательской ячейки, я пробовал все следующее:
contentView.frame.height
contentView.bounds.height
self.bounds.height
Constants.ViewControllers.marketTableViewController.tableView.frame.height
Constants.ViewController.marketTableViewController.tableView.rowHeight
Я даже пытался использовать делегата для передачи tableView в пользовательскую ячейку, но он просто дает мне та же информация, что и я получаю из моего класса констант. Пожалуйста, помогите!