La réponse courte est que c'est un float
ou un double
.
La vue frame
est du type CGRect
.
struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
La valeur origin
est un CGPoint
, qui contient deux valeurs CGFloat
.
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
Et enfin, chaque composant d'un CGPoint
est un CGFloat
, qui est un float
ou double
selon que votre application est de 32 bits ou 64 bits.
typedef float CGFloat; // 32-bit
typedef double CGFloat; // 64-bit
Si vous devez stocker l'origine ou le cadre entier dans un objet que vous pouvez utiliser NSValue
.
NSValue *originValue = [NSValue valueWithCGPoint:button01.frame.origin];
NSValue *frameValue = [NSValue valueWithCGRect:button01.frame];
Ou, pour stocker un seul composant CGFloat
, vous pouvez utiliser NSNumber
.
NSNumber *xValue = [NSNumber numberWithFloat:button01.frame.origin.x];
merci pour l'explication complète! – Antonio