Кнопка внутри нижнего колонтитула CollectionView не полностью кликабельна в Swift 5

#ios #swift #footer #collectionview

Вопрос:

Я использую многоразовый нижний колонтитул в представлении коллекции, я дал разные цвета, чтобы показать, какая высота и ширина кнопки есть, но кнопка не полностью кликабельна, можно нажать на верхнюю часть кнопки, все сделал.

 class DeSelectContactsFooter: UICollectionViewCell { var buttonTapped:OnlySuccess?  let selectLabel: UIButton = {  let button = UIButton()  button.setTitleColor(AppColors.LightColorTwo, for: .normal)  button.setTitle("Deselect all", for: .normal)  button.titleLabel?.font = FontsCustom.getFont(.regular, 16)  return button }()  let underline: UIImageView = {  let n = UIImageView()  n.backgroundColor = AppColors.LightColorTwo  return n }()   override init(frame: CGRect) {  super.init(frame: frame)  self.backgroundColor = .green  addSubview(selectLabel)  self.contentView.isUserInteractionEnabled = false   // addSubview(underline)  // underline.translatesAutoresizingMaskIntoConstraints = false  //underline.widthAnchor.constraint(equalTo:selectLabel.widthAnchor, constant: 0).isActive = true   //underline.heightAnchor.constraint(equalToConstant: 1).isActive = true   //underline.topAnchor.constraint(equalTo:selectLabel.bottomAnchor, constant: -17).isActive = true  //underline.centerXAnchor.constraint(equalTo: centerXAnchor, constant: 0).isActive = true   selectLabel.translatesAutoresizingMaskIntoConstraints = false   selectLabel.heightAnchor.constraint(equalToConstant: 70).isActive = true  selectLabel.widthAnchor.constraint(equalToConstant: 120).isActive = true   selectLabel.backgroundColor = .blue    selectLabel.topAnchor.constraint(equalTo: topAnchor, constant: 0).isActive = true   selectLabel.centerXAnchor.constraint(equalTo: centerXAnchor, constant: 0).isActive = true  selectLabel.addTarget(self, action: #selector(onSeeAllTapped(_:)), for: .touchUpInside)}  @objc func onSeeAllTapped(_ sender:UIButton){ print("tapped")  buttonTapped?() } required init?(coder: NSCoder) {  fatalError("init(coder:) has not been implemented") }}  

введите описание изображения здесь

Комментарии:

1. Все, что ты делаешь, неправильно. Ячейка UICollectionViewCell не может использоваться в качестве нижнего колонтитула, а представление (например, кнопка) не может быть добавлено в качестве прямого подвида ячейки.

2. Я также использовал базовый класс типа UICollectionReusableView, но он не работал, я зарегистрировал его как класс нижнего колонтитула.

3. Как это возможно, что работает только верхняя часть кнопки, а не полная кнопка?