添加UITabBarController时出错
本文关键字:出错 UITabBarController 添加 | 更新日期: 2023-09-27 18:23:49
我正在使用MonotouchC#编写一个具有多个不同屏幕的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)
我猜我在这里遗漏了一些额外的东西,但在谷歌上搜索后,我找不到问题的答案。感谢您的帮助
如果您正在使用UITabBarController,它应该看起来像这样:
window = new UIWindow (UIScreen.MainScreen.Bounds);
var viewController1 = new FirstViewController ();
var viewController2 = new SecondViewController ();
tabBarController = new UITabBarController ();
tabBarController.ViewControllers = new UIViewController [] {
viewController1,
viewController2,
};
window.RootViewController = tabBarController;
window.MakeKeyAndVisible ();
UITabBarController应该是RootViewController。
我想这个链接可能会帮助你
应用程序预计在应用程序启动结束时具有根视图控制器
还有一些时候,当我们在plist中没有提到初始视图控制器时,就会发生这种情况。