Objective-C: une alternative à l'utilisation de CGRectMake
Lundi, Juillet 27, 2009 CGRectMake() est une fonction (en réalité une ligne # define), beaucoup utilisé en particulier lorsque vous créez des objets à partir du code ou d'une interface utilisateur graphique. Son usage est donc souvent liée composants d'initialisation UIKit mais aussi aux simples UIView ou UIImageView CGRectMake() retourne une struct (type de structure) CGRect
- struct (CGRect
- CGPoint origine;
- CGSize taille;
- );
- typedef struct CGRect CGRect;
Qui à son tour se compose de deux différents struct CGPoint et CGSize
- struct (CGPoint
- CGFloat x;
- CGFloat y;
- );
- typedef struct CGPoint CGPoint;
- / Tailles *. * /
- struct (CGSize
- CGFloat largeur;
- CGFloat hauteur;
- );
- typedef struct CGSize CGSize;
Que, dans leur tour, contiennent encore des types CGFloat ou float de float Si nous analysons le code de CGRectMake () sont:
- CG_INLINE CGRect
- CGRectMake (CGFloat x, y CGFloat, CGFloat largeur, hauteur CGFloat)
- (
- CGRect rect;
- y; = x rect.origin.x; rect.origin.y = y;
- height; width = rect.size.width; rect.size.height = hauteur;
- return rect;
- )
Il s'ensuit donc que cette partie de code:
- UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton * gbutton = [buttonWithType UIButton: UIButtonTypeRoundedRect];
- 12,409,100,40 ) ; gbutton.frame = CGRectMake (12,409,100,40);
- @ "Press" forState : UIControlStateNormal ] ; [SetTitle Gbutton: @ "Presse" Forst: UIControlStateNormal];
- gbutton ] ; [AddSubview MainWindow: gbutton];
Pourrait à juste titre être écrit comme suit:
- UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton * gbutton = [buttonWithType UIButton: UIButtonTypeRoundedRect];
- 12,409,100,40 } ; = gbutton.frame (CGRect) (12,409,100,40);
- @ "Press" forState : UIControlStateNormal ] ; [SetTitle Gbutton: @ "Presse" Forst: UIControlStateNormal];
- gbutton ] ; [AddSubview MainWindow: gbutton];
Juste pour accélérer l'exécution de code un peu "... ![]()














Curiosité ': si vous voulez apprendre Obj-C, par exemple, à partir de zéro ou presque, dans laquelle les publications que vous pouvez «payer?
@ Cristian: Google Book Search (Google Livres), il existe de nombreuses ressources (en anglais) est pratiquement achevée.