Monotouch C# を使用して、さまざまな画面を持つ iPhone アプリを作成しています。簡単にするために、私が問題を抱えているコントローラーにつながるいくつかの画面のみを説明します。
私が抱えている問題は、UITabBarControllerから継承するクラスを作成すると、次のエラー メッセージが表示されることです。
アプリケーション ウィンドウには、アプリケーションの起動の最後にルート ビュー コントローラーがあることが期待されます。
私の AppDelegate クラスでは、UIViewController と UINavigationController を初期化します。UIWindow オブジェクトに RootViewController を設定して、次のようにナビゲーション コントローラーを使用します。
var splashController = new SplashController(); // UIViewController
_navigationController = new UINavigationController(splashController);
...
_window = new UIWindow(UIScreen.MainScreen.Bounds);
_window.RootViewController = _navigationController;
_window.MakeKeyAndVisible();
これまで、アプリケーションの実行に問題はありませんでした。しかし、UITabBarController から継承する新しいクラスを作成したところ、上記のエラー メッセージが表示されました。必要に応じてコードを投稿できますが、UITabBarController から継承する空のクラスでアプリケーションを実行しようとしても、同じエラー メッセージが表示されます。
PushViewController 呼び出しをコメントアウトまたは削除することで、コード内でクラスが呼び出されない場合でも、アプリケーションを実行できません。
タブ バー コントローラーの呼び出しは、最終的に次のようになります。
SplashController (UIViewController) > push > HomeController (UIViewController) > push > MenuController (DialogViewController) > push > StatsController (UITabBarController)
ここに欠けている何かが余分にあると思いますが、グーグルで検索した後、問題に対する答えが見つかりませんでした。助けてくれてありがとう