J'ai des rangées de sous-vues dans un UIScrollView que je veux réorganiser après la rotation en mode paysage. Idéalement, je veux avoir 5 boutons par rangée avec le nombre total de rangées déterminé par la hauteur du bouton et combien de boutons il y a au total (plus un peu de rembourrage). Le problème que j'ai est de savoir comment itérer à travers les sous-vues tout en itérant à travers la position x pour 5 boutons sur la ligne, puis en changeant la position y après avoir atteint la limite de 5 boutons pour commencer une nouvelle ligne.Modification des cadres de sous-vue dans UIScrollView lors de la rotation
En ce moment, je peux parcourir les sous-vues, mais je ne sais pas comment automatiser le réglage du cadre pour 5 par ligne et ensuite changer la position y pour commencer une nouvelle ligne. Toutes les suggestions sont grandement appréciées!
for (UIView *subview in someScrollView.subviews)
{
if (subview.tag >= 100) {
[subview setFrame: CGRectMake(x, y, buttonWidth, buttonHeight)];
NSLog(@"%.1f %.1f %d %d on subview %d", x, y, buttonWidth, buttonHeight, subview.tag);
}
}
Comment avez-vous assuriez scrollview ne réinitialise pas les cadres lors du défilement, – Omiga
C'était avant autolayout existait, de sorte que vous ne l'avez pas dois depuis la mise en place du cadre était permanente. (note: cette réponse date d'il y a 3,5 ans). Avec autolayout, soit vous devez le désactiver, soit vous devez mettre à jour les contraintes pour qu'elles restent – iwasrobbed
Je l'ai résolu de cette façon ... merci – Omiga