こんにちは、メインビューの幅と高さを取得します。横向きまたは縦向きモードで正しい値が必要です。私は次を試しました:
NSLog(@"aaa %f", [UIScreen mainScreen].applicationFrame.size.width);
NSLog(@"zzz %f", self.view.frame.size.width);
これらは、横向きで300、縦向きモードで320を与えます。はい、縦向きモードでは大きくなります。だから..私のビューは画面全体(-ステータスバー)を占めるので、横向きモードでは480、縦向きモードでは320が期待されます。残りのピクセルに何が起こったのか。これらの値をハードコーディングする必要がありますか?ありがとう。
次の行のいずれかが役に立ちますか?
[[UIScreen mainScreen] bounds].size.height
[[UIScreen mainScreen] bounds].size.width
ステータスバーの高さを減算できると思いますか?たぶん私はあなたの質問を理解していない
これを試して :
UIWindow* window = [UIApplication sharedApplication].keyWindow;
NSLog(@"%f",window.frame.size.width);
デバイスの向きに基づいて正しいサイズを提供する便利なマクロ:
#define SCREEN_WIDTH ((([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) || ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)) ? [[UIScreen mainScreen] bounds].size.width : [[UIScreen mainScreen] bounds].size.height)
#define SCREEN_HEIGHT ((([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) || ([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown)) ? [[UIScreen mainScreen] bounds].size.height : [[UIScreen mainScreen] bounds].size.width)