私のアプリでは、テーブルを「フルスクリーン」で表示したかったので、UITableViewController のサブクラスを作成しました。テーブルを表示したいときは、インスタンス化して を使用するだけpushViewController:animated:
です。実際にモーダルとして表示することにしたので、「完了」ボタンのあるナビゲーション バーを表示したいと思います。これは、単なるテーブル以上のものになるため、これを UITableViewController サブクラスではなく UIViewController サブクラスにする必要があることを意味すると思います。ただし、これが実行できるかどうかはよくわかりません。xib を作成しましたが、Xcode はその xib を使用して .h ファイルに IBOutlets を作成することを許可していないようです。そのため、この 2 つが「接続」されているとは思いません。
私は以前にこの問題に遭遇し、新しい UIViewController サブクラスと xib を作成し、必要なものすべてを UITableViewController サブクラスのファイルから新しいサブクラスのファイルにコピー アンド ペーストするだけで回避しました。しかし、それがハックで不快な解決策であることは、今でもわかっています。このようなことを適切に行う方法を知っている人はいますか?
また、将来この問題を回避するには、今後このようなトップレベルのビューを作成しないで、使用するものpushViewController:animated:
や使用するものすべてpresentModalViewController:animated:
が UIViewController サブクラスであることを確認する必要がありますか? それとも、私がやってきたことをしても安全ですか?