Есть кнопка в UITableViewHeaderFooterView - PullRequest
0 голосов
/ 14 октября 2018

Я хочу добавить кнопку в 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 Ответ

0 голосов
/ 14 октября 2018

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

contentView.addSubview(showAllOrHideButton) на: self.addSubview(showAllOrHideButton)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...