Objective-C: eine Alternative zur Verwendung von CGRectMake
Montag, 27. Juli 2009 CGRectMake() ist eine Funktion (in Wirklichkeit ein Inline # define) verwendet eine Menge vor allem, wenn Sie Objekte erstellen, aus dem Code oder grafische Benutzeroberfläche. Seine Verwendung ist daher oft verbunden Initialisierung Komponenten UIKit sondern auch auf einfache UIView oder UIImageView CGRectMake() gibt ein struct (Struktur-Typ) CGRect
- struct (CGRect
- CGPoint Ursprungs;
- CGSize Größe;
- );
- typedef struct CGRect CGRect;
Die wiederum von zwei verschiedenen CGPoint und CGSize struct CGSize
- struct (CGPoint
- CGFloat x;
- CGFloat y;
- );
- typedef struct CGPoint CGPoint;
- / * Größen. * /
- struct (CGSize
- CGFloat Breite;
- CGFloat Höhe;
- );
- typedef struct CGSize CGSize;
Das ist in wiederum enthalten noch die Art CGFloat oder geben Sie float Wenn wir analysieren den Code CGRectMake () sind:
- CG_INLINE CGRect
- CGRectMake (CGFloat x, y CGFloat, CGFloat Breite, Höhe CGFloat)
- (
- CGRect rect;
- y; rect.origin.x = x; rect.origin.y = y;
- height; rect.size.width = width; rect.size.height = height;
- return rect;
- )
Daraus folgt, dass dieser Teil des Codes:
- UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton * gbutton = [UIButton buttonWithType: UIButtonTypeRoundedRect];
- 12,409,100,40 ) ; gbutton.frame = CGRectMake (12,409,100,40);
- @ "Press" forState : UIControlStateNormal ] ; [Gbutton setTitle: @ "Presse" Forst: UIControlStateNormal];
- gbutton ] ; [MainWindow addSubview: gbutton];
Könnte richtig geschrieben werden als:
- UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton * gbutton = [UIButton buttonWithType: UIButtonTypeRoundedRect];
- 12,409,100,40 } ; gbutton.frame = (CGRect) (12,409,100,40);
- @ "Press" forState : UIControlStateNormal ] ; [Gbutton setTitle: @ "Presse" Forst: UIControlStateNormal];
- gbutton ] ; [MainWindow addSubview: gbutton];
Just zu beschleunigen, ein bisschen 'Code-Ausführung ... ![]()














Neugier ": wenn Sie lernen, Obj-C, wollen sagen, von Null oder fast so, auf die Publikationen können Sie 'bezahlen?
@ Cristian: Google Buchsuche (Google Books), gibt es viele Ressourcen (in Englisch) ist nahezu abgeschlossen.