Donc, j'essaie de comprendre comment ajouter deux vues de collecte sur le contrôleur de vue Nom. À l'heure actuelle, la vue de la collection actuelle est une vue de collection de défilement verticale qui affiche les publications des utilisateurs sur le flux. Je voudrais ajouter une section "personnes à suivre" qui fait défiler horizontalement sur le dessus. Veuillez noter que j'aimerais que la vue de la collection horizontale accélère avec toute la vue.
quelque chose qui ressemblera à ce p>
P> J'ai pensé à ajouter un en-tête de section, puis essayez d'ajouter une vue de collection en cela, mais je ne sais pas si c'est une configuration illégale. P>
Je ne sais pas non plus si je dois ajouter 2 sections dans le numéro Voici le code de vue de la collection actuellement. P> de sections code> Ligne. p>
@IBOutlet weak var collectionView: UICollectionView!
// MARK: - UICollectionViewDataSource
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
if posts.count > 4 {
if indexPath.item == posts.count - 1 {
fetchPosts()
}
}
}
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
if viewSinglePost {
return 1
} else {
if posts.count == 0 {
self.collectionView.setEmptyMessage("You haven't followed anyone yet.")
} else {
self.collectionView.restore()
}
return posts.count
}
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PostsCell", for: indexPath) as! FollowingCell
cell.delegate = self
if viewSinglePost {
if let post = self.post {
cell.post = post
}
} else {
cell.post = posts[indexPath.item]
}
handleUsernameLabelTapped(forCell: cell)
handleMentionTapped(forCell: cell)
handleHashtagTapped(forCell: cell)
return cell
}
3 Réponses :
Vous pouvez définir le premier index comme une autre vue de collection. P>
Pourriez-vous élaborer un peu plus si cela ne vous dérange pas?
semble que vous souhaitiez ajouter deux vues de collecte, l'une est pour la partie supérieure horizontale et la valeur inférieure est verticale
Ajouter deux vues de collecte dans le storyboard, donnez le premier A
Hauteur statique, prise de sortie du storyboard et donnez le nom de sortie quelque chose comme Définissez la source de déléguée et de données vers la collectionviews p> li>
ul> dans le cas de toutes les méthodes de délégation, implémentez les visions collectives utilisant Si vous souhaitez faire défiler le tout comme un défilement de tableView, ajoutez tout cela sur un UpperCollectionview code> et
BASSECollectionview code> p> Li>
si - ele code> méthode p>
Uiscrollview code>, cela gérera le défilement. p> p>
Le supérieur sera-t-il fixé? Je veux toujours faire défiler avec toute la vue.
Ensuite, vous ajoutez une vue de défilement comme base, puis configurez le tout sur cette
Si vous me demandez que je suggérerais une vue de table avec 2 cellules, la cellule du poing est pour la vue de collecte et la deuxième cellule est votre cellule normale. De cette façon, vous pouvez faire défiler dans les deux sens. Mais si vous souhaitez utiliser la collectionView, alors vous devez ajouter une balise pour la vue de la collection et la configurer en fonction de votre balise I.E
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { if collectionView.tag == 1 { // your horizantal collection view } else { //vertical one }
Donc, la seule façon de l'obtenir pour faire défiler les deux directions est d'ajouter une vue de table avec 2 cellules? Ajoutez ensuite les vues de la collection dans chaque cellule de vue de la table?
Je dis que c'est une autre façon. pas le seul moyen. J'utilise cela depuis longtemps et ça marche parfait
En fait, vous voulez ajouter deux vues de collecte? Topper est horizontal et le bas est vertical? Si oui, alors je vais répondre à votre question de manière élaborée
@Ankurlahiry, soit oui, mais je veux que la vue de la collection horizontale défilte avec toute la vue. C'est pourquoi ma première pensée devait ajouter un en-tête de section puis placer la vue de la collection horizontale à l'intérieur de cela. Puis renvoyez les profils que je veux présenter là-bas.