2009-08-02 20 views
5

2つのUINavigationControllerを含むUITabBarControllerを使用するiPhoneアプリがあります。それぞれに1つ以上のTableViewController(実際にはUITableViewDelegateとUITableViewDataSourceを実装するカスタマイズされたUIViewController)が含まれています。起動時に、UITabBarControllerが表示され、テーブルビューの1つが表示されます。すべてがコード化されています。 Interface BuilderはUIのものを作るために使われていませんでした。それはSDK 2で書かれました.SDK 2で正常に動作しました。iPhone 3.0 sdkにアップグレードしてシミュレータに空白の画面が表示される

私は最近SDK 3.0にアップデートしました。 InfoではBase SDKの設定をiPhone Simulator 3.0に設定しました。今、私がSimulatorでアプリケーションを起動すると、上部にステータスバーがある白い空白の画面しか表示されません。私のアプリの兆候はありません。しかし、私は、アプリケーションを終了すると、欠落しているテーブルビューは、終了アニメーションが再生されているときに簡単に表示されます。また、白い空白の画面では、ナビゲーションボタンがどこにあるかをクリックして見つけることができます。アプリを終了すると、欠落している画面が一時的に表示され、別の画面に移動しました。ボタンは機能し、おそらくテーブルビューセルはそこにあり、見えません。

このような人は誰ですか?誰かがそれを引き起こしていると私はそれを修正することができますどのようなアイデアを持っていますか?私は、SQLiteBooksなどのサンプルアプリケーションがSDK 3.0にアップデートするときにうまく動作しているように見えた。上記のように、Interface Builderを使用しないという点を除いて、私のアプリはSQLiteBookとあまり違いはありません。

答えて

1

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

これは問題ではないが、起動時に不思議なふるまいをするアプリケーションでこれまでに同様の問題があった。私は根本的な原因がわからないので、試行錯誤です。

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

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

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

2

はい、私は最終的にMainWindow.xibの簡単な修正ウィンドウを見つけました。アルファ値を0(デフォルトは100)に変更しました。

+0

これは私のために働いた。それを行う方法がわからない方: 1. Resources/MainWindow.xibをダブルクリックしてInterfaceBuilderでMainWindowを開きます。 2. MainWindow.xibのUIで「ウィンドウ」を選択します。 3. Interface Builderのメインメニューで[ツール/属性インスペクタ]を選択します。 4. alphaは属性uiの5番目の値です。範囲は0.00〜1.00です。 0.00に設定します。 IBを保存して閉じます。 –

1

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

+0

これを確認して、私はまったく同じ問題を抱えていました。後続のビルドと実行では、Interface Builderを閉じる必要はありません。 – jbnunn

3

IBでは、[ウィンドウ]をクリックし、[起動時に表示]がオンになっていることを確認します。私のものはありませんでした。

0

私もこの問題を持って、私がやって解くcoud以下:

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

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

XCodeで: - 3を使用している場合。0または上、アプリケーションデリゲートにこのコード行をコメント:

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

0

私はCenterScale To Fillからモードを変更することで鉱山を修正しました。アルファを変更する前に、背景を黒に変更しました。おそらく、実際の値が正しくスケーリングされていないと思っていました。繰り返しますが、単純にモードをScale To FillからCenterに変更してください。うまくいくはずです。

0

あなたが実行する前に、新しいインターフェイスを保存する必要が表示されます。私は前にIPhoneのために開発したことがないし、最終的に私がなぜ白い画面を取得していたかを考え出した。実行する前に自動的に保存する必要があるようですが、明らかにそうではありません。

1

私は

に、問題をもたらすこのスレッドと何の人々によって与えられた上記のすべてのソリューションを試した後、4.2

に自分のiOSをアップグレードした後、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; 
} 
関連する問題