2010-11-18 3 views
0

私は次のようなものを使用したUIButtonのXとY位置の現在のvalkueを読みしようとしています:私はデータ型がそれである変数、それを入れたい場合はXcodeのUIButtonのXとYの位置はどのタイプですか?

button01.frame.origin.x 

?私はNSIntegerとNSDecimalを試しましたが、彼らは私にエラーを与えました...

答えて

2

短い答えは、floatまたはdoubleです。

ビューのframeは、CGRectです。

struct CGRect { 
    CGPoint origin; 
    CGSize size; 
}; 
typedef struct CGRect CGRect; 

origin値は、2つのCGFloat値が含まCGPoint、です。

struct CGPoint { 
    CGFloat x; 
    CGFloat y; 
}; 
typedef struct CGPoint CGPoint; 

そして、最後に、CGPointの各構成要素は、アプリは、32ビットまたは64ビットであるかに応じてfloat又はdoubleである、CGFloatです。

typedef float CGFloat; // 32-bit 
typedef double CGFloat; // 64-bit 

あなたがNSValueを使用できるオブジェクトに起源またはフレーム全体を格納する必要がある場合。

NSValue *originValue = [NSValue valueWithCGPoint:button01.frame.origin]; 
NSValue *frameValue = [NSValue valueWithCGRect:button01.frame]; 

あるいは、単一CGFloatコンポーネントを格納するために、あなたはNSNumberを使用することができます。

NSNumber *xValue = [NSNumber numberWithFloat:button01.frame.origin.x]; 
+0

完全な説明をいただきありがとうございます。 – Antonio

関連する問題