El limites d'un UIView es el rectangle exprimée sous la forme d'un emplacement (x, y) et d'une taille (largeur, hauteur) par rapport à son propre système de coordonnées (0, 0).
El cadre d'un UIView es el rectangle Il est exprimé sous la forme d'un emplacement (x, y) et d'une taille (largeur, hauteur) par rapport à la vue supérieure dans laquelle il est contenu.
Imaginons donc une vue d'une taille de 100x100 (largeur x hauteur) positionnée à 25,25 (x,y) de sa vue supérieure. Le code suivant imprime les limites et le cadre de cette vue :
// This method is in the view controller of the superview
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"bounds.origin.x: %f", label.bounds.origin.x);
NSLog(@"bounds.origin.y: %f", label.bounds.origin.y);
NSLog(@"bounds.size.width: %f", label.bounds.size.width);
NSLog(@"bounds.size.height: %f", label.bounds.size.height);
NSLog(@"frame.origin.x: %f", label.frame.origin.x);
NSLog(@"frame.origin.y: %f", label.frame.origin.y);
NSLog(@"frame.size.width: %f", label.frame.size.width);
NSLog(@"frame.size.height: %f", label.frame.size.height);
}
Et la sortie de ce code est :
bounds.origin.x: 0
bounds.origin.y: 0
bounds.size.width: 100
bounds.size.height: 100
frame.origin.x: 25
frame.origin.y: 25
frame.size.width: 100
frame.size.height: 100
Ainsi, nous pouvons voir que dans les deux cas, la largeur et la hauteur de la vue sont les mêmes, que l'on regarde les limites ou le cadre. Ce qui est différent, c'est le positionnement x,y de la vue. Dans le cas des limites, les coordonnées x et y sont à 0,0 car ces coordonnées sont relatives à la vue elle-même. Cependant, les coordonnées x et y du cadre sont relatives à la position de la vue dans la vue parente (dont nous avons dit précédemment qu'elle était à 25,25).
Il existe également un bonne présentation qui couvre les UIViews. Voir les diapositives 1 à 20 qui non seulement expliquent la différence entre les cadres et les limites mais montrent aussi des exemples visuels.
1 votes
Comprendre le cadre macoscope.com/blog/understanding-frame
0 votes
Pour moi, l'explication la plus concise se trouve ici : videos.raywenderlich.com/cours/99-scroll-view-school/leçons/
1 votes
Il n'y a rien de concis dans une vidéo de 2:30. Je peux lire une phrase ou deux beaucoup plus rapidement que 2:30.
3 votes
Pour moi, c'est beaucoup plus clair si je pense de cette façon : Cadre = Limites et position