Есть кнопка в UITableViewHeaderFooterView

Я хочу добавить кнопку в HeaderView, но прикосновения не распознаются. Что мне не хватает?

class GSTableHeaderView: UITableViewHeaderFooterView, ReusableView {
  var delegate: tableHeaderViewDelegate?
  let showAllOrHideButton = GSShowAllOrHideButton()

  override init(reuseIdentifier: String?) {
    super.init(reuseIdentifier: reuseIdentifier)
    self.isUserInteractionEnabled = true
    setupSubviews()
    setupConstraints()
  }

  func setupSubviews() {
    contentView.addSubview(showAllOrHideButton)
    contentView.isUserInteractionEnabled = true
    showAllOrHideButton.addTarget(self, action: #selector(handleShowAll), for: .touchUpInside)
  }

  func setupConstraints() {
    showAllOrHideButton.anchor(top: nil, leading: nil, bottom: contentView.bottomAnchor, trailing: contentView.trailingAnchor, paddingTop: 0, paddingLeading: 0, paddingBottom: 0, paddingTrailing: 16, width: 0, height: 0)
  }

  @objc func handleShowAll() {
    showAllOrHideButton.isSelected.toggle()
  }

  required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }
}

Что-то ест мои щелчки или кнопки в UITableViewHeaderFooterView просто не поддерживается?

1 ответ

Ваш код должен работать, если в верхней части содержимого нет другого представления. Пожалуйста, проверьте иерархию представления в XCode, где находится расположение вашей кнопки. попробуй это:
Измени свой:

contentView.addSubview(showAllOrHideButton) чтобы: self.addSubview(showAllOrHideButton)

Другие вопросы по тегам