2012-01-18 6 views
-1

Objective-Cには、私が現在持っているデバイスの画面の幅と高さをすばやく取得する方法がありますか?デバイス画面の幅/高さを取得する

私がやってみました:

CGRect deviceDimension = [[UIScreen mainScreen] bounds]; 

しかしiPadの風景モードでは、それはまだ高さと幅と1024として私に768を与えます。他のアイデア?マクロを使うだけでいいですか?基本的に私は、次のマクロを交換するための方法を見つけようとしています:

#ifdef IPHONE 

#define SCREEN_WIDTH_PORTRAIT 320 
#define SCREEN_WIDTH_LANDSCAPE 480 

#else 

#define SCREEN_WIDTH_PORTRAIT 768 
#define SCREEN_WIDTH_LANDSCAPE 1024 

#endif 
+0

を参照してください:http://stackoverflow.com/questions/3655104/iphone-ipad-how-to-get-screen- width-programmatically –

+0

[画面の向きに依存する高さと幅を取得する方法は?](http://stackoverflow.com/questions/7905432/how-to-get-orientation-dependent-height-and-width) -of-the-screen) –

答えて

2

if (UIDeviceOrientationIsLandscape([[UIDevice currentDevice] orientation])) { } 

で1024×768から768×1024を区別することを結合します。

0

下記のRichard J. Ross IIIからのコメントを参照してください。

あなたはこのようにそれを行うことができます:

- (CGSize)screenSizeWithRotation 
{ 
    return CGSizeMake(CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds)); 
} 

+0

または単に 'self.view.bounds.size'を使用してください... –

+1

@ RichardJ.RossIIIああ、そうです。もちろん。私の答えを無視してください。 – simonbs

+0

これは、現在のビューコントローラのサイズは何ですか? – adit

関連する問題