5

私は、2 つの UINavigationControllers を含む UITabBarController を使用する iPhone アプリを持っており、それぞれに 1 つ以上の TableViewControllers (実際には、UITableViewDelegate と UITableViewDataSource を実装するカスタマイズされた UIViewControllers) が含まれています。すべてがコード化されています。Interface Builder は、UI の作成には使用されませんでした。SDK 2 で作成されました。SDK 2 では問題なく動作しました。

最近、SDK 3.0 に更新しました。Info で、Base SDK 設定を iPhone Simulator 3.0 に設定しました。これで、シミュレーターでアプリケーションを起動すると、上部にステータス バーがある空白の画面のみが表示されます。私のアプリの兆候はありません。ただし、アプリを終了すると、終了するアニメーションが再生されているときに、欠落しているテーブルビューが短時間表示されます。また、空白の白い画面で、ナビゲーション ボタンがあるべき場所をクリックして、アプリを終了し、表示されていない画面が短時間表示されると、そのナビゲーションによって別の画面が表示されることがわかります。したがって、ボタンは機能し、おそらくテーブルビューセルがそこにあり、それらは表示されません。

誰もこのようなものを見たことがありますか?何が原因で、どうすれば修正できるのか、誰にもわかりませんか? SDK 3.0 にアップデートすると、SQLiteBooks などのサンプル アプリが正常に動作するように見えることに気付きました。上記で述べたように、Interface Builder を使用していないことを除けば、使用されているテクノロジに関しては、私のアプリは SQLiteBooks と大差ありません。

4

8 に答える 8

3

IB で [ウィンドウ] をクリックし、[起動時に表示] がオンになっていることを確認します。私のアプリはそうではなく、そのボックスをチェックした後、私のアプリがついに表示されました。

于 2010-06-08T05:22:58.470 に答える
2

はい、ようやく簡単な修正方法を見つけました。MainWindow.xib で Window を開き、Alpha 値を 0 (デフォルトは 100) に変更します。

于 2009-10-02T21:44:31.283 に答える
1

純粋にコードでウィンドウを構築している場合は、ターゲットのプロパティからMainWindow.xibを必ず削除してください。

それが問題ではない場合、私は以前にアプリが起動時に奇妙に動作するという同様の問題を抱えていました。根本的な原因がわからないので、試行錯誤です。

1)ビルドディレクトリを削除して再構築してみてください。

2)ベースSDKをiPhoneデバイス3.0に設定します。(とにかくシミュレーター用にビルドすると、ベースSDKは上書きされます)

3)また、プロジェクトのplistファイルとMainWindow.xibが誤ってプロジェクトから削除されたという問題があり、これと同じ問題が発生しました。MainWindow.xibを使用している場合は、それらがプロジェクト構造に含まれていることを再確認してください。

于 2009-08-19T13:36:30.050 に答える
1

iOSを4.2にアップグレードした後、iPhoneシミュレーターで白い画面が表示されるという同じ問題がありました

このスレッドの人々によって提供された上記の解決策をすべて試し、問題に影響を与えなかった後、

次のコードを変更してみました

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

メソッド....このコードを書くことによって...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  



    // HomeScreen is my first view that should be displayed on the app launch
    // Creating the homescreen instance in the appdelegate method and 
    // assigned it to the homeScreenWindow element declared in the appdelegate class

    HomeScreen *aHomeScreen = [[HomeScreen alloc]initWithNibName:@"HomeScreen" bundle:nil];
    self.homeScreenWindow = aHomeScreen;
    [aHomeScreen release];
    // assigning ends here

    [window addSubview:[homeScreenWindow view]];
    [window makeKeyAndVisible];

    return YES;
}
于 2011-03-01T05:58:48.803 に答える
1

アルファ値の設定を変更する必要はありませんでした。iPhone シミュレーターでプロジェクトを起動する前に、Interface Builder を終了するだけでした。何らかの理由で、シミュレーターを初めて実行するときに IB が開いていると、空白の画面が表示されるため、最初にプロジェクトを実行する前に IB を終了してください。

于 2010-01-18T18:52:49.457 に答える
0

私もこの問題を抱えています。次のようにして解決できました。

インターフェイスビルダーで:

  • ファイルの所有者: アプリケーションのデリゲートです
  • window: アプリケーションのデリゲート ウィンドウ アウトレットです。

XCode の場合: - 3.0 以降を使用している場合は、アプリケーション デリゲートで次のコード行にコメントを付けます。

// window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]

于 2010-06-08T13:35:45.287 に答える
0

実行する前に、新しいインターフェイスを保存する必要があるようです。私はこれまで IPhone 用に開発したことがありませんでしたが、ついに白い画面が表示される理由がわかりました。実行前に自動的に保存する必要があるようですが、そうではないようです。

于 2010-07-12T03:07:31.273 に答える
0

Scale To Fillモードを からに変更して修正しましたCenter。アルファを変更する前は、背景を黒に変更するだけでした。実際の値が正しくスケーリングされていない可能性があると考えましたが、それは正しかったです。繰り返しますが、モードを から に変更するだけで、動作Scale To FillするCenterはずです。

于 2010-06-15T23:31:40.747 に答える