o CGPoint , ad esempio. La syntaxe NSLog(@"%@", ... ); qui fonctionne et est utilisé pour obtenir des informations sur les objets, mais ne fonctionne pas sur les types de données tels que C struct CGRect ou CGPoint , par exemple. o NSStringFromCGPoint : Pour profiter de NSLog(@"%@", ... ); également de style C structs nous pouvons nous appuyer sur les fonctions de conversion telles que NSStringFromCGRect() ou NSStringFromCGPoint :
1 2 3 4 5
| CGRect ) { 10 , 20 , 30 , 40 } ; CGRect mioRect = (CGRect) {10, 20, 30, 40}; CGPoint ) { 32 , 64 } ; CGPoint mioPoint = (CGPoint) {32, 64}; / / "Info rettangolo: %@" , NSStringFromCGRect ( mioRect ) ) ; NSLog (@ "rectangle Info:% @", NSStringFromCGRect (mioRect)); "Info point: %@" , NSStringFromCGPoint ( mioPoint ) ) ; NSLog (@ "point info:% @", NSStringFromCGPoint (mioPoint)); |
Plus précisément, il est possible d'affiner les procédures correspondantes de petites macros utiles comme:
1
| # Définir NSLogRect (rect) NSLog (@ "% s (% 0.0f, 0.0f%) 0.0f%% 0.0fx", # rect, rect.origin.x, rect.origin.y, rect.size.width , rect.size.height) |
Ou:
1 2 3 4
| # Définir NSLogCGPoint (point) NSLog (@ "% s (% 0.0f, 0.0f%)", # Point.X point, Point.y)
CGPoint ) { 32 , 64 } ; CGPoint mioPoint = (CGPoint) {32, 64}; ; NSLogCGPoint (mioPoint); |
Cela vous donnera en sortie:
1
| 32 , 64 ) mioPoint: (32, 64) |
En savoir plus ...
CGRectMake() est une fonction (en fait une ligne # define) beaucoup utilisé en particulier lorsque des objets sont créés par le code ou d'une interface utilisateur graphique. o UIImageView . CGRectMake() restituisce una struct (struttura di tipo) CGRect : Son utilisation est donc souvent associé composants d'initialisation de UIKit , mais aussi à de simples UIView ou UIImageView . CGRectMake() retourne une struct (type de structure) CGRect :
1 2 3 4 5
| struct {CGRect Origine CGPoint; CGSize taille; }; typedef struct CGRect CGRect; |
: Qui à son tour est composé de deux différents structure CGPoint et CGSize :
1 2 3 4 5 6 7 8 9 10 11 12 13
| struct {CGPoint X CGFloat; CGFloat y; }; typedef struct CGPoint CGPoint;
Tailles * /. * /
struct {CGSize CGFloat largeur; CGFloat hauteur; }; typedef struct CGSize CGSize; |
. Que, à leur tour à nouveau, contiennent des types CGFloat , ou des types float . Si nous analysons le code de CGRectMake () sont les suivants:
1 2 3 4 5 6 7 8
| CG_INLINE CGRect CGRectMake (CGFloat x, y CGFloat, largeur CGFloat, CGFloat hauteur) { CGRect rect; y; rect.origin.x = x; rect.origin.y = y; height; rect.size.width = largeur; rect.size.height = hauteur; retourner rect; } |
Il s'ensuit, donc, que cette partie du code:
1 2 3 4
| [ 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" forState: UIControlStateNormal]; gbutton ] ; [MainWindow addSubview: gbutton]; |
Il pourrait à juste titre être écrite comme suit:
1 2 3 4
| [ UIButton buttonWithType : UIButtonTypeRoundedRect ] ; UIButton gbutton * = [UIButton buttonWithType: UIButtonTypeRoundedRect]; CGRect ) { 12 , 409 , 100 , 40 } ; gbutton.frame = (CGRect) {12, 409, 100, 40}; @ "Press" forState : UIControlStateNormal ] ; [Gbutton setTitle: @ "Presse" forState: UIControlStateNormal]; gbutton ] ; [MainWindow addSubview: gbutton]; |
Juste pour accélérer les choses »le code est exécuté ... 
En savoir plus ...
Derniers Commentaires
Marquez : Merci beaucoup, je l'ai allumé
Je l'ai résolu par la mise en [cc_objc] / / OptionViewController.m - ...
Giovambattista Fazioli : @ Mark: Je vous suggère de réfléchir une approche plus correcte. Si vous exécutez la sous-classe de l'onglet ...
Mark : Excusez le spam .. J'ai remarqué qu'il ya une erreur .. voici la correction [cc_objc] / PrimaClasse.h **** / # import ...
Marco : oubliée .. dans [cci] OptionViewController [/ cci] pour [cci] @ syntetize [/ cci] J'ai mis le délégué
louis : très clair et simple, je dois avouer que rédiger un an à peine utiliser des délégués créés par ...