2011-07-09 9 views
2

私は、グーグルでiPhone SDKのバグのように見えるものを理解しようとしています。インタフェースビルダーでデザインされたランドスケープビューの操作

私は、Interface Builderで横長モードで新しいビューを設計しました。それは次のようになります。

しかし、私は、それは風景であっても、私の他のビューのいずれかから、すべてのコンテンツdoesntのを見てそれをロードするとき、それはインターフェイスビルダー内に見えるように、それは次のようになります。

に(私はソートの修正この問題に助けグーグルでいくつかのコードを見つけましたが、解決策は完璧ではない、と正直醜い回避策のそのだけの種類は、コードがありますviewDidLoad):

// First rotate the screen: 
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight; 

// Then rotate the view and re-align it: 
CGAffineTransform landscapeTransform = CGAffineTransformMakeRotation(1.570796327); // 90 degrees in radian 
[self.view setTransform:landscapeTransform]; 

このコードは実際にはほぼ完全に問題を解決し、まだ正確に私のXIBようには見えません。

私はあなたの創造的な心のいずれかが持っているかどうかを知るのが大好きですこれに対してはより良い解決法があります。そうでない場合は、上記のコードをxibファイルの「元の」デザインに近づけるように変更できますか?

ありがとうございます! :)
Shai。

答えて

0

あなたのビューがプッシュアップされている理由は、ステータスバーの左上隅から開始されているためです。回転後にこれを追加してみてください:

landscapeTransform = CGAffineTransformMakeTranslation(0, 20); 
[self.view setTransform:landscapeTransform]; 
+0

ノー成功でこれを試みた:( //そしてビューを回転して再整列: \t CGAffineTransform TRANS2 = CGAffineTransformMakeTranslation(0、20); CGAffineTransform回転= CGAffineTransformRotate(trans2、1.570796327); //ラジアンで90度 [self.view setTransform:rotate]; –

+0

最初にローテーションを実行してみてはどうですか? – Dash

+0

どういう意味ですか? –

関連する問題