CoreGraphics CGRectからサイズを取得
CGRectは, サイズに関する情報を含んだ
CGRectGetXxx というAPIでいろいろなサイズに関する情報を取得できます。
| Method | Description |
|---|---|
| CGRectGetWidth(CGRect rect) | Viewのwidth |
| CGRectGetHeight(CGRect rect) | Viewのheight |
| CGRectGetMinX(CGRect rect) | Viewの左端X座標 |
| CGRectGetMidXCGRect rect) | Viewの真ん中X座標 |
| CGRectGetMaxX(CGRect rect) | Viewの右端X座標 |
| CGRectGetMinY(CGRect rect) | ViewのトップY座標 |
| CGRectGetMidY(CGRect rect) | Viewの真ん中Y座標 |
| CGRectGetMaxY(CGRect rect) | ViewのボトムY座標 |
これらは, CGRectから取得します。CGRectはUIViewなどから,
CGRect rect = self.view.frame;
というような形, つまりUIViewのframeプロパティで取得できます。
サンプルを作ってみました。ViewControllerのviewDidLoadの中に入れていただければ動きます。
-(void)logRect
{
CGRect rect = self.view.frame;
NSLog(@"Width %f", CGRectGetWidth(rect));
NSLog(@"Height %f", CGRectGetHeight(rect));
NSLog(@"MinX %f", CGRectGetMinX(rect));
NSLog(@"MidX %f", CGRectGetMidX(rect));
NSLog(@"MaxX %f", CGRectGetMaxX(rect));
NSLog(@"MinY %f", CGRectGetMinY(rect));
NSLog(@"MidY %f", CGRectGetMidY(rect));
NSLog(@"MaxY %f", CGRectGetMaxY(rect));
}
結果の一例です。ステータスバーに関する部分とかはとくに何もいじっていません。
Width 320.000000
Height 548.000000
MinX 0.000000
MidX 160.000000
MaxX 320.000000
MinY 20.000000
MidY 294.000000
MaxY 568.000000
