-1
votes

Obtenez un chemin d'index de cellule visible à Collectionview

J'ai une verticale uicollectionview Je dispose de deux indicateurs en haut et en bas de uicollectionview . J'ai 15 cellules. Mais seulement 10 est visible dans l'heure actuelle. Si la cellule 0 n'est pas visible, je souhaite montrer le top indicateur vertical qu'il existe certaines cellules dans le haut. Si la cellule zéro est visible, aucun indicateur requis dans le haut

De même, je veux avoir l'indicateur inférieur si les cellules en bas ne sont pas visibles dans l'heure actuelle.


2 commentaires

Qu'essayez-vous? Veuillez consulter Stackoverflow.com/help/how-to-ask .


Avez-vous examiné la documentation de référence pour Uicollectionview? Il y a deux propriétés évidentes pour trouver les cellules visibles.


3 Réponses :


0
votes
 @IBOutlet weak var topMoveView: ViewDesign!
 @IBOutlet weak var topMoveButton: ButtonDesign! 

override func viewWillAppear(_ animated: Bool) {

        topMoveView.isHidden = true
        topMoveButton.isHidden = true
    }

extension testViewController : UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {

 func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if (testCollectionView.contentOffset.y <= 0) {
            topMoveView.isHidden = true
            topMoveButton.isHidden = true
        }else{
            topMoveView.isHidden = false
            topMoveButton.isHidden = false
        }
    }

}


@IBAction func topMoveButtonPressed(_ sender: ButtonDesign) {
        self.testCollectionView.setContentOffset(.zero, animated: true)
    }

0 commentaires

0
votes
let arrayOfVisibleItems = collectionView.indexPathsForVisibleItems.sorted()
let lastIndexPath = arrayOfVisibleItems.last
let firstIndexPath = arrayOfVisibleItems.first
You can then deduce your own logic to show the whatever you want to show

0 commentaires

1
votes

J'ai créé un contrôleur de vue d'exemple pour cela. J'espère que cela vous aidera. J'ai ajouté deux boutons comme indicateurs (haut et bas). J'espère que cela vous aidera.

 Entrez la description de l'image ici

C'est ainsi que la vueController ressemble à

code: xxx

J'ai créé l'interface utilisateur programmatique pour la rendre compréhensible. Vous pouvez utiliser ceci ou storyboard. Bravo et passez une bonne journée.


0 commentaires