CGRectMake(1、3、サイズ):
CGRectMake(1, 3, size.width, size.heigh)
CGRectMake(pointB、size):
CGRectMake(pointB.x, pointB.y, size.width, size.height)
CGRectMake(pointB、size.width、size.height):
CGRectMake(pointB.x, pointB.y, size.width, size.height)
CGRectは次のようになります。
struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
そして、CGPointとCGSizeは次のようになります。
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
struct CGSize {
CGFloat width;
CGFloat height;
};
typedef struct CGSize CGSize;
CGRectMakeは次の関数です。
CG_INLINE CGRect
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
{
CGRect rect;
rect.origin.x = x;
rect.origin.y = y;
rect.size.width = width;
rect.size.height = height;
return rect;
}
したがって、代わりに:
CGRect r = CGRectMake(pointB.x, pointB.y, size.width, size.height)
あなたは単に書くことができます:
CGRect r;
r.origin = pointB;
r.size = size;
独自のCGRectMakeを作成したい場合は、自由に作成してください。
CG_INLINE CGRect
MyPrivateCGRectMake(CGPoint p, CGSize s)
{
CGRect rect;
rect.origin = p;
rect.size = s;
return rect;
}
ただし、既存の関数が受け入れる引数を変更する方法はありません。