2012-11-16 10 views
8

私のビューの寸法が間違っています。私はランドスケープだけを実行していますが、ビューはポートレイトのサイズを報告しています。 "View Width = 768.000000 Height = 1024.000000"これを修正する方法はありますか?私はそれがビューに正常に見えるが、寸法は本当に私のアプリをいじっている必要があり私のself.viewの寸法が間違っています

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft|| interfaceOrientation == UIInterfaceOrientationLandscapeRight); 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return YES; 
} 

を試してみましたが、自動回転の周り果たしています。

+0

ビューのサイズはどのようになっていますか? – yuf

+0

self.view.frame.size.width。など。 – Jonathan

+0

とその値をいつ読んでいますか? – yuf

答えて

13

あなた自身の次元を伝えるのにframeを決して使用しないでください。 frameは、親コンテナビューを基準にしています。ビューの独自の座標系に関するディメンションを検索するには、bounds

などを使用します。たとえば、親ビューでは、幅= 768、高さ= 1024の子ビューが表示されますが、90度回転します。これは、親ビューに子ビューが表示される方法で、これはself.view.frameについてです。幅= 1024、高さ= 768の子ビューは、ビューがそれ自身の座標系でどのように見えるかによって反映されます。self.view.bounds

+0

私は境界を使ってみましたが、私は同じ結果を得ています。私はiPadが景観にあることを見ていないかもしれないと思っています。知りません。 – Jonathan

+1

'touchesBegan'で印刷してみて、同じ値が見えるかどうか確認してください。 –

+0

それはうまくいきました。 – Jonathan

関連する問題