2017-08-09 2 views
0

J'ai une vue de collection qui devra charger le contenu des cellules mais je ne veux pas utiliser les images des assets. Donc, je crée une classe avec Paint Code qui dessine quelques images pour moi. Cependant, je ne sais pas comment charger les images que le code de peinture a dessinées pour moi dans mes cellules UICollectionView en utilisant dequeueReusableCell.Comment charger une image à partir d'une fonction dans une autre classe dans UICollectionView? J'utilise le code de peinture

Répondre

0

Je vais usa un TableView comme exemple, mais il est la même chose avec un UICollectionView ...

Créer une sous-classe de UICollectionViewCell.
Dans cet exemple, je suis appeler ItemCell:

class ItemCell: UITableViewCell {...} 

Créer et configurer un fichier .xib.
Ce fichier expose votre cellule, et est titulaire d'un UIView qui représente votre PaintCode drawable:

customCell

En Storyboard, définissez la classe de vos UICollectionViewCell s en tant que votre sous-classe personnalisée (dans cet exemple ItemCell).
L'essentiel est ici pour donner un identifiant , il peut donc être dequeued:

configuration

code exemple pour réutiliser votre cellule personnalisée:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    var cell = UITableViewCell() 

    // Constants.itemCellName matches the above identifier. 
    if let itemCell = tableView.dequeueReusableCell(withIdentifier: Constants.itemCellName) as? ItemCell { 
     configure(itemCell, at: indexPath) 
     cell = itemCell 
    } 

    return cell 
} 

Bénéfice:

example