添加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时出错

如果您正在使用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中没有提到初始视图控制器时,就会发生这种情况。