1

コンテナー ビューを使用して、単純な全画面表示の 4 ペインの iPad アプリ インターフェイスを実装しようとしています (そうなると思います)。単一のビューを含む単純なルート UIViewController があります。その中には 4 つのコンテナー ビューがあり、それぞれにビュー コントローラーが埋め込まれています (2 つのペインにはそれぞれ UITableViewController があり、2 つのペインにはそれぞれ UIViewController があります)。これはInterface Builderで簡単に作成できましたが、アプリを実行すると、明らかに最初の埋め込みセグエが実行されたときに次のエラーが発生します(つまり、2つのUITableViewControllersの1つの埋め込みセグエでprepareForSegueが呼び出された後ですが、どうやら、viewDidLoad がその UITableViewController で実際に呼び出される前に):

* -[UIStoryboardEmbedSegue perform] でのアサーションの失敗、/SourceCache/UIKit_Sim/UIKit-2380.17/UIStoryboardEmbedSegue.m:18

*キャッチされない例外「NSInternalInconsistencyException」が原因でアプリを終了しています。理由:「containerView が必要です。」

誰かが私が間違っていることの手がかりを得ましたか? この「containerView is required」エラーについての言及がどこにも見つからないようです。

ありがとう!

4

1 に答える 1

4

まあ、私はそれを理解しました、そしてそれはコンテナビューとは何の関係もありませんでした. むしろ、iPhone バージョンのアプリ用に開発したナビゲーション コントローラーのサブクラスを、iPad バージョンのルート ビュー コントローラーとして誤って再利用していました。もちろん、ナビゲーション コントローラーにはコンテナー ビュー (iPad バージョンのルート ビュー コントローラーにはありません) が必要であるため、指定されたエラーが発生しました。他の誰かがこの不可解なエラーに遭遇し、私と同じ間違いを犯した場合に備えて、ここに残しておきます。

于 2013-08-14T08:51:02.313 に答える