как заставить кнопку, расположенную сверху UICollectionView, реагировать на нажатие? - PullRequest
0 голосов
/ 25 апреля 2019

UICollectionView, который ведет себя как галерея

gallery.showsHorizontalScrollIndicator  = false
gallery.isPagingEnabled = true

помещается внутри контейнера UIView, и в этот контейнер добавляется пользовательская кнопка (кнопка избранного изображения):

enter image description here

galleryContainer.addSubview(gallery)
galleryContainer.addSubview(pageControl)

...

galleryContainer.addSubview(favBtn)
favBtn.topAnchor.constraint(equalTo: galleryContainer.topAnchor, constant: 40).isActive = true
favBtn.trailingAnchor.constraint(equalTo: galleryContainer.trailingAnchor, constant: -30).isActive = true
favBtn.heightAnchor.constraint(equalToConstant: 30).isActive = true
favBtn.widthAnchor.constraint(equalToConstant: 30).isActive = true

Проблема в том, что любимая кнопка не реагирует на нажатие, почему и как это можно исправить? Я пытался favBtn.becomeFirstResponder(), но безуспешно.

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

Переведите кнопку вперед и включите интерактив

galleryContainer.bringSubview(toFront: favBtn)
favBtn.isUserInteractionEnabled = true
0 голосов
/ 25 апреля 2019

Причиной проблемы было то, что кнопка перекрывала верхнюю панель навигации, которая имела свойство isTranslucent = true.Как только мне удалось переместить кнопку за панель навигации, она стала активной.

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