0

私はユニバーサルアプリケーションに取り組んでいます。

self.window.rootViewController = self.SecondViewController

メソッドにviewcontrollerクラスをロードしますAppDelegate。このコード行は、iOSバージョン4以降では正常に機能していますが、iOS3.1.3で実行するとクラッシュします。

そのため、そのコードをに置き換えて[self.window addSubview:[SecondViewController view]]正常に動作しますが、アプリを初めてロードすると、最初はビューが上に移動します(スクリーンショットのように)。

だから親切に私がこの問題を克服するのを手伝ってくれてありがとうここに画像の説明を入力してください

4

2 に答える 2

3

このrootViewControllerプロパティはiOS4.0で導入されました。これが、iOS3.1.3でクラッシュした理由です。

を使用する[self.window addSubview:[SecondViewController view]]と、ビューコントローラのビューがステータスバーに合わせて調整されない場合があります。適切な説明については、 UIWindowaddSubviewのオフセットを参照してください。

解決策は、あなたの場合、ビューのフレームを割り当てることです

self.SecondViewController.view.frame = [UIScreen mainScreen].applicationFrame;

サブビューとして追加する前に。

于 2012-09-18T05:40:07.003 に答える
2
SecondViewController.view.frame = CGRectMake(0, 20, 320, 460);
[self.window addSubview:[SecondViewController view]]
于 2012-09-18T06:05:23.863 に答える