我正在使用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)
我猜我在这里缺少一些额外的东西,但是在谷歌搜索和四处搜索之后,我找不到我的问题的答案。谢谢你的帮助