そこで、 このチュートリアル を使用してiOS 8アプリの起動ストーリーボードを作成してみました
ただし、アプリを起動すると黒い画面しか表示されません。単一の起動screen.xibファイルは完全に機能しますが、ストーリーボードを使用しようとしても機能しません。
単一のView Controllerのみでストーリーボードを試しましたが、それでも黒い画面が表示されるため、問題はセットアップのストーリーボードファイルにあると考えています。何か案は?
[XCodeバージョン6.4]
編集:だから私はそれが起動画面が黒く表示されることを明確にしたいだけです。アプリの読み込みが完了すると、メインのストーリーボード自体が正しく表示されます
チュートリアルを読んでテストしましたが、次の2つのことは言われていません。
1:UIViewController
を.storyboard
ファイルに追加し、それを初期コントローラーとして選択する必要があります。
2:起動画面以外のものを変更する場合は、プロジェクト設定に移動し、「メインインターフェイス」を対応する.storyboard
に設定する必要があります。
それが完了したら、ViewControllerクラスへのUIButton/Label/etc接続を編集するだけです。
編集:
明確にするために、UIViewをそれぞれのストーリーボードファイルで選択し、属性インスペクターを開いて初期コントローラーとして設定できます。 「Is Initial Controller」のオプションは中央に向かっています。
答えにはどれも必要なすべてのステップがないため、この包括的なソリューションです。
LaunchScreen.storyboardを作成することから始めます。 Xcode>ファイル>新規>ファイル...>ストーリーボード> LaunchScreen.storyboardを選択し、適切なすべてのターゲットに追加します。
このストーリーボードでは、UIViewController
タイプの単一のView Controllerを作成します。起動画面に必要な魔法をすべて実行してから、次の手順を実行します。
LaunchScreen.storyboard
>ファイルインスペクターを表示> 起動画面として使用LaunchScreen.storyboard
> View Controller>属性インスペクターを表示> 初期View Controller適切にセットアップされている場合、Info.plistにはLaunchScreen。storyboard、なしで。storyboardUILaunchStoryboardName
&UIMainStoryboardFile
プロパティの下:
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>LaunchScreen</string>
注:
LaunchScreen.storyboard
およびMain.storyboard
に特に注意してください。 1つは起動に使用され、もう1つはアプリのエントリポイントに使用されます。両方ともIs Initial View Controllerを設定する必要があります。起動に使用しているストーリーボードで、その中に存在する非常に単一のView ControllerにIs initial View Controllerのオプションを選択したことを確認してください。
エントリポイントを設定し、一般情報をタップして、nibからサイズ変更するようにビューが設定されていることを確認してください。また、一般タブで起動ポイントが設定されていることを確認してください。展開情報。
お役に立てれば
Appleに感謝します!最終的に、別の画像に変更するには、画像だけでなく、View Controllerで実際のUIImageViewを削除する必要があることを発見しました。画像の名前を変更し、さまざまな方法で画像を置き換え、キャッシュを削除し、デバイスからアプリを削除し、構築する前にクリーニングを実行しました。元の画像は、見た限りどこからでも消えていましたが、それでも表示されていました。最後に、View Controllerの上部に新しいUIImageViewを追加しました。これにより、新しい画像が取得されました。次に、古いUIImageViewを削除しましたが、すべて問題ありませんでした。
アプリをローカライズした後、スプラッシュの代わりに黒い画面が表示されました。 LaunchScreen.storyboardのFileインスペクターのLocalizationセクションでは、1つのローカライズに対して1つのティックしかありませんでした。そこで、2番目のローカライズにチェックを追加して、問題を修正しました。
解決策は、拡張子pngのない画像名を使用することです。
たとえば、画像ファイルの名前が「img.png」の場合、「img」のみを使用します。
これにより、エディターではイメージが無効(?)として表示されますが、実行時には正しく表示されます。
これは、LaunchScreen.storyboardがAssets.xcassets内の画像のみを受け入れ、Assets.xcassets内の画像を参照する方法が拡張子のないリソースの名前だからです。
拡張子なしで名前を使用することは、その回避策だと思います。
展開情報でメインインターフェイスを「メイン」(ストーリーボード名)に正しく設定しましたか?