J'essaie de créer une vue de grille contenant plusieurs lignes et colonnes de vues d'image. Comme une vue de 4 lignes et 4 colonnes avec chaque cellule contenant une vue d'image. Quelqu'un peut-il s'il vous plaît me dire la meilleure approche pour créer une telle vue? Merci et meilleures salutations ...Suggestion sur la vue de grille
Répondre
Je l'ai fait par UITableView. Je fais un UITableViewCell personnalisé, chaque cellule contient 4 boutons pour 4 colonnes et ajuste chaque cellule cell pour 4 lignes par page.
Je ferais descendre un objet GridView de UIView. Cela aurait une propriété numberOfColumns et une propriété items:
@class GridView : UIView {
NSUInteger numberOfColumns;
NSArray *items;
}
@property (nonatomic, assign) NSUInteger numberOfColumns;
@property (nonatomic, copy) NSArray *items;
@end
Le tableau articles contiendraient les UIViews que vous souhaitez afficher dans votre vue de la grille. Ensuite, chaque fois que la propriété numberOfColumns ou la propriété items est définie, vous appelez également [self setNeedsLayout]; dans leur setter-à-dire pour les articles propriété que vous souhaitez supprimer les anciens, ajouter les nouveaux et dire le cadre que vous devez Restructurer
- (void)setItems:(NSArray *)value {
if (value != items) {
for (UIView *item in items)
[item removeFromSuperview];
[items release];
items = [value copy];
for (UIView *item in items)
[self addsubview:item];
[self setNeedsLayout];
}
}
Votre méthode layoutSubviews serait itérer le tableau d'éléments et de les placer dans le bon nombre de colonnes à savoir quelque chose comme
- (void)layoutSubviews {
[super layoutSubviews];
CGFloat width = [slef frame].size.width/numberOfColumns;
CGFloat height = width;
CGFloat xoffset = 0;
CGFloat yoffset = 0;
for (UIBView *item in items) {
[item setFrame:CGRectMake(xoffset, yoffset, width, height)];
xoffset += width;
if (xoffset >= [self frame].size.width) {
xoffset = 0;
yoffset += height;
}
}
}
Je n'ai pas testé ce code, mais il devrait fixer les éléments dans une grille où chaque élément est carré.
J'espère que c'est un bon point de départ.
- 1. Vue grille à l'intérieur de la vue grille
- 2. Comment formater la vue de grille de données sur ASP.NET?
- 3. étendre la largeur des colonnes d'une vue sur la grille
- 4. Hyperliens sur la grille
- 5. Comment puis-je utiliser une vue de grille dans une autre vue de la grille
- 6. Vue grille Asp.net
- 7. vue Grille - Colonne
- 8. vue grille d'événements databound
- 9. Liaison de vue de grille
- 10. Comment puis-je utiliser la vue grille dans la vue grille?
- 11. vue grille Aspx fileUpload
- 12. vue grille combobox
- 13. Requis Validation de champ dans la vue de la grille
- 14. datatable liaison à la vue grille
- 15. comment afficher la grille d'images dans la vue de tableau
- 16. Suggestion de suggestion de champ de navigateur
- 17. ASP.NET une vue de grille extensible?
- 18. La vue de grille de données est lente
- 19. Erreur lors de la compilation d'une vue de grille
- 20. Vue Gantt ou grille hiérarchique
- 21. ajaxToolkit: ValidatorCalloutExtender vue grille asp.net
- 22. suggestion
- 23. comment travailler sur la pagination en vue de la grille dans Android?
- 24. vue grille des problèmes de validation
- 25. espace inconnu à droite de la vue grille
- 26. Obtention de la suggestion actuelle de `AutoCompleteTextView`
- 27. ExtJS RowEditor sur la grille
- 28. En-tête de vue de grille de données Couleur de grille
- 29. suggestion de conception nécessaire
- 30. Suggestion de package Zsh