0
votes

Comment mettre à jour Uicollectionview avec un autre tableau lorsque vous cliquez sur Cell?

J'ai 3 points de vue de la collection sur une vue Contentrale, comment mettre à jour une autre collection Voir les données lorsque je clique sur une cellule de collectionView Cell

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    {
        if collectionView == CollectionViewBottom
        {
            if indexPath.item == 14
            {
           ////what code i should write here to update collection view
                HeadingLabel.text = "Solar"
               CollectionViewMID.reloadData()

            }
         }         
}


3 commentaires

On dirait que tu l'as résolu. Gardez toutes les 3 vues de la collection comme vars dans votre VC, puis appelez .Reloaddata () sur la collection souhaitée à tout moment.


Mais je veux mettre à jour avec une autre donnée de tableau?


Cell.imagemid.Image = Self.ImagesArrayMidGenerator [IndexPath.Orow] De cette manière Ajout de données à la collectionView dans le chemin ItemAindex, mais maintenant je veux mettre à jour cette vue de collection avec cell.imagemid.image = self.solararray [indexpath.row]


3 Réponses :


0
votes

Si je comprends votre question que vous pouvez simplement le résoudre par RALODOAD AUTRES COLLECTIONVIEW Data Inside CollectionView Inside DidSelectRowatidexPath code> Par exemple:

TROIS COLLECTIONVIEUTION est: P>

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    {
  //apply your logic in this Scope 
    if ( your logic ) {
       collectionViewOne.realoadData()
       collectionViewTwo.realoadData()
       } 

    }


6 commentaires

Cell.imagemid.Image = Self.ImagesArrayMidGenerator [IndexPath.row] De cette façon, ajoutez des données à la collectionView dans le chemin ItemAindex, mais maintenant je souhaite mettre à jour cette vue de collection avec de nouvelles données de tableau cellule.imagemid.image = Self.Solararray [IndustryPath. ligne]


Que voulez-vous dire par imagemid .Cant comprendre votre question correctement pouvez-vous afficher le code?


imagemid est la prise d'image d'image dans la classe de cellules où l'image va être mise à jour


OKY, alors vous voulez juste mettre à jour la cellule NewImage avec ImageArray Self.Solararray [indexPath.row] 1 à quand utilisateur cliquez sur CELL?


Lorsque l'utilisateur clique sur une cellule en basculcollectionview, alors les données de la collection Mid CollectionView mis à jour comment je peux faire cela?


Mid Collection View a déjà des données mais lorsque je clique sur une collection de bas de la collection, les nouvelles données de la matrice doivent être mises à jour sur un Midcollectionview



0
votes

OKY Créez un objet d'observateur de propriétés comme ce top PF The ViewDiDload Code> J'aime ce

updateDataArray = your newDataArray``

and in the reload data 

```func reloadData() {
   yourtableView.reloadData()
}


1 commentaires

Mais ce code ne sauvegarder que des données sur un autre tableau ne figurant pas dans la vue de la collection?



1
votes

J'ai un exemple pour vous. J'espère que cela vous aidera

var arr : [String] = []

var collectionView:UICollectionView!

override func viewDidLoad()
{
    super.viewDidLoad()

    arr = ["ONE","TWO","THREE"]
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
{
   if indexPath.row == 1
   {
       arr = ["ABC", "EFG", "HIJ"]
       collectionView.reloadData()
   }
   else if indexPath.row == 2
   {
       arr = ["1", "2", "3"]
       collectionView.reloadData()
   }
}


1 commentaires

Merci frère de l'aide