Question

En fonction du résultat d'une condition, je veux afficher une UIImageView dans une cellule de table. Sinon afficher UITableViewCellAccessoryCheckmark. Je voudrais construire la cellule IB. La partie que je ne suis pas sûr de ce qu'il faut faire avec le UIImageView quand je ne veux pas affiché. Si je construis tout programme, j'ajouter la UIImageView au besoin. Mais comme il se fera en IB, le UIImageView est toujours là. Si le défaut est quitter la cellule seule (image) affiche, sinon supprimer UIImageView et afficher UITableViewCellAccessoryCheckmark? Si cela est fait, je vais avoir besoin d'une étiquette sur UIImageView il peut être consulté et retiré?

Était-ce utile?

La solution

Vous pouvez facilement contrôler la visibilité de tout contrôle, y compris UIImageView. Si vous souhaitez construire des choses dans IB alors une solution consiste à ajouter les commandes dont vous avez besoin, de les exposer comme des propriétés, puis cacher ceux que vous ne voulez pas pour une cellule donnée.

par exemple.

cell.image.hidden = YES;

Quand ils ont caché sans nul-tête, et bien que votre cellule peut avoir des milliers de lignes, il y aura très peu de cellules réelles, il est donc une solution assez efficace. Rappelez-vous que les cellules sont réutilisées si vous appelez [tableView dequeueReusableCellWithIdentifier] (que vous devriez faire) de sorte que vous devrez montrer explicitement / contrôle de cache dont la visibilité peut avoir été modifiée.

Une alternative est d'avoir des cellules avec et sans images et choisir la bonne lors de l'ajout de données à votre table. Pour les cellules qui sont similaires gérer deux similaires-encore-minorly-différents actifs serait probablement une douleur bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top