Как получить правильный indexPath.section от кнопки в представлении коллекции, которое находится внутри табличного представления?

Я устанавливаю кнопку внутри FooterView, которая принадлежит collectionView, и это внутри TableView. Как мне получить indexPath.section от этой кнопки?

Это для новой вкладки сегментированного элемента управления. В прошлом я пытался присвоить indexPath.section переменной int и даже присвоить число константе, использовал метод prepareForReuse в ячейках для обновления ячейки, но это всегда дает мне неправильный индекс. Это меняется, пока я прокручиваю.

var currentlyActiveCellIndexPath: Int?

extension LibraryViewController {
    func viewTapped(button: UIButton) {

        let tapgesture = UITapGestureRecognizer.init(target: self, action: #selector(goToViewAllArticles))
        button.addGestureRecognizer(tapgesture)

        let tapgesture1 = UITapGestureRecognizer.init(target: self, action: #selector(goToViewAllPodcasts))
        button.addGestureRecognizer(tapgesture1)



        tapgesture.numberOfTapsRequired = 1

        button.isUserInteractionEnabled = true



    }
    @objc func goToViewAllArticles(sender: UITapGestureRecognizer) {
        return self.performSegue(withIdentifier: "showBrowseFromButton", sender: currentlyActiveCellIndexPath)
    }

    @objc func goToViewAllPodcasts(sender: UITapGestureRecognizer) {
        return self.performSegue(withIdentifier: "showBrowseFromButton", sender: currentlyActiveCellIndexPath)
    }


  func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {


        currentlyActiveCellIndexPath = indexPath.section

Я ожидал, что indexPath.section останется прежним, но как только я прокручиваю, он меняется, и я не могу получить правильный indexPath.section.

1 ответ

Установить тег вашей кнопки как indexPath

в cellForRowAt(:)

YourBtn.tag = indexPath.row

Теперь вы можете получить точно такой же indexPath, когда вы нажимаете на эту кнопку, если все еще не работает, оставьте комментарий!

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