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