2009-04-21 16 views
0

私の目的は、風景やポートレートモードの両方でアプリケーションの機能を得ることだった、と私はそれを行うために見つけ出すことができるすべては、以下のコードでした。アプリは肖像画に罰金働いていたが、景観に切り替えたときに、テキストが追加のスペースを埋めるために(右へ)拡大しないでしょう。私は私のスプリング/ストラットセットにしました、そして両親は「allowResizing」IBで選択していたこと。それはポートレートモードでうまく見えることなぜ私のツールバーには、ときランドスケープモードでは表示されませんか?

- (void) willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration: 
(NSTimeInterval)duration { 
    UIInterfaceOrientation toInterfaceOrientation = self.interfaceOrientation; 

    if (toInterfaceOrientation == UIInterfaceOrientationPortrait) { 
    self.myView.frame = CGRectMake(0.0, 0.0, 320.0, 480.0); 
    } 
    else { 
    self.myView.frame = CGRectMake(0.0, 0.0, 480.0, 256.0); 
    } 
} 

注意(ツールバーが表示されます):

Portrait http://mr-sk.com/img/land.png

をしかし、ツールバーは、ランドスケープモードでなくなっている。ここ

は、私が代わりにやったものです:

Landscape http://mr-sk.com/img/por.png

アイデア?

+0

私はフレームが横長モードで正しいことを確認しましました:ここに画像があります:HTTP ://mr-sk.com/img/IB.png –

答えて

0

それはめちゃくちゃにすることができ、いくつかの理由があります...多分あなたUIToolbarは、間違った親を持っています。たぶん、layoutSubviewsが実行されていて、それをどこか不思議に動かしているかもしれません。または、他の何か。あなたのビューコントローラ上で、それが行っている場所を確認するために回転した後UIToolbarのフレームをお読みください。

は、私はあなたがdidRotateFromInterfaceOrientationを実装するお勧めします。これは正確な問題を発見する最良の方法です。

3

インターフェイスビルダを使用している場合、オブジェクトインスペクタで制約を指定しないと、ツールバーを両端と下端に固定する場合と同じ結果になります(赤い線をクリックして制約を指定します)。

ます。また、コードで同じことを行うことができます - あなたはこれを行う方法を探す必要がある(ただし、IBでの容易な)

関連する問題