iPad用のストーリーボードベースのアプリケーションを作成しようとしています。その中で、スタート画面(UIViewController)からメイン画面(UISplitViewController)に移行し、次に全画面表示(UIViewController)に移行する必要があります。
UISplitViewControllerは、RootViewController以外の方法でストーリーボードベースのアプリケーションで使用することはできないと述べて、Web上で(少なくともいくつか-stackoverflowで)多くの議論を見ました。一部のスレッドには回避策が含まれており、これに対処するための代替のsplitview(https://github.com/mattgemmell/MGSplitViewController )もあります。
しかし、私が理解できないのは、Appleのドキュメントがまったく逆のことを述べている理由です。これは、AppleのiOS5.0ライブラリからの章へのリンクです。それは述べています:
ストーリーボードを使用したスプリットビューコントローラーの作成
スプリットビューコントローラーをアプリケーションのストーリーボードに追加するには:
- アプリケーションのメインストーリーボードを開きます。
- 分割ビューコントローラをライブラリからドラッグします。これにより、分割ビューコントローラの2つのペインのビューコントローラも作成されます。
- 分割されたViewControllerに含まれているViewControllerごとに、IdentityInspectorを使用してViewControllerのクラス名を設定します。
分割ビューインターフェイスを表示するには、次のいずれかを実行します。
- シーンを選択し、属性インスペクターの下の「Is Initial View Controller」ボックスをチェックして、最初のシーンとして表示します。
- モーダルセグエを追加して、別のシーンから表示します。
- モーダルセグエを開始するperformSegueWithIdentifier:sender:メソッドを呼び出して、プログラムで表示します。
私はさまざまな方法でそれを試しましたが、最後の2つのステートメントで説明したアプローチは機能しませんでした。モーダルセグエとperformSegue...の両方がよく知られたエラーで失敗します:
"***キャッチされなかった例外'NSInvalidArgumentException'が原因でアプリを終了しています、理由:'アプリケーションがSplitViewControllerをモーダルに提示しようとしました..."
それを説明できる人はいますか?これはXCODE/iOS 5.0のバグですか、それともドキュメントのバグですか?
よろしく、ペトル