o CGPoint , ad esempio. La sintaxis NSLog(@"%@", ... ); que funciona y se utiliza para obtener información sobre los objetos, pero no funciona en C tipos de datos tales como la estructura CGRect o CGPoint , por ejemplo. o NSStringFromCGPoint : Para aprovechar NSLog(@"%@", ... ); también de tipo C. estructuras que pueden apoyarse en funciones de conversión como NSStringFromCGRect() o 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 (@ "rectángulo de Información:% @", NSStringFromCGRect (mioRect)); "Info point: %@" , NSStringFromCGPoint ( mioPoint ) ) ; NSLog (@ "punto de información:% @", NSStringFromCGPoint (mioPoint)); |
En concreto, es posible perfeccionar los procedimientos correspondientes macros útiles pequeños, como:
1
| # Definir 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) |
O bien:
1 2 3 4
| # Definir NSLogCGPoint (punto) NSLog (@ "% s (% 0.0f,% 0.0f)", # punto.x punto, Point.y)
CGPoint ) { 32 , 64 } ; CGPoint mioPoint = (CGPoint) {32, 64}; ; NSLogCGPoint (mioPoint); |
Esto dará como resultado:
1
| 32 , 64 ) mioPoint: (32, 64) |
Más información ...
CGRectMake() es una función (en realidad una línea # define) que se utiliza mucho sobre todo cuando los objetos son creados por el código o la interfaz gráfica de usuario. o UIImageView . CGRectMake() restituisce una struct (struttura di tipo) CGRect : Su uso está por lo tanto, a menudo asociada componentes de inicialización de UIKit , sino también a simple UIView o UIImageView . CGRectMake() devuelve una struct (tipo de estructura) CGRect :
1 2 3 4 5
| struct {CGRect CGPoint origen; CGSize tamaño; }; typedef struct CGRect CGRect; |
: Que a su vez se compone de dos diferentes estructura CGPoint y CGSize :
1 2 3 4 5 6 7 8 9 10 11 12 13
| struct {CGPoint CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint;
Tamaños *. * /
struct {CGSize CGFloat ancho; CGFloat altura; }; typedef struct CGSize CGSize; |
. Eso, a su vez, otra vez, contienen tipos CGFloat , o los tipos de float . Si analizamos el código de CGRectMake () son los siguientes:
1 2 3 4 5 6 7 8
| CG_INLINE CGRect CGRectMake (CGFloat x, y CGFloat, ancho CGFloat, CGFloat altura) { CGRect rect; y; rect.origin.x = x; rect.origin.y = y; height; rect.size.width = ancho; rect.size.height = altura; volver rect; } |
De ello se deduce, por tanto, que esta parte del código:
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: @ "Prensa" forState: UIControlStateNormal]; gbutton ] ; [MainWindow addSubview: gbutton]; |
Con razón se puede escribir como:
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: @ "Prensa" forState: UIControlStateNormal]; gbutton ] ; [MainWindow addSubview: gbutton]; |
Sólo para acelerar las cosas 'se ejecuta el código ... 
Más información ...
Últimos Comentarios
Marcos : Muchas gracias, he encendido
Lo resuelto mediante el establecimiento de [cc_objc] / / OptionViewController.m - ...
Giovambattista Fazioli : @ Marcos: Le sugiero que pensar en un enfoque más correcto. Si ejecuta la subclase de la ficha ...
Marcos : Disculpe el spam .. Me di cuenta de que hay un error .. aquí es la corrección [cc_objc] / PrimaClasse.h **** / # import ...
Marco : olvidado .. en [ICC] OptionViewController [/ cci] para [CCI] @ syntetize [/ cci] puse el delegado
luis : muy clara y sencilla tengo que admitir que escribir un pa casi no utilizan los delegados creados por ...