#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. Как это возможно, что работает только верхняя часть кнопки, а не полная кнопка?