菜鸟教程小白 发表于 2022-12-13 03:12:27

c# - 添加 UITabBarController 时出错


                                            <p><p>我正在使用 <strong>Monotouch</strong> C# 编写一个具有多个不同屏幕的 iPhone 应用程序。为简单起见,我将仅描述一些导致我遇到问题的 Controller 的屏幕。</p>

<p>我遇到的问题是,当我创建一个继承自 <strong>UITabBarController</strong> 的类时收到此错误消息:</p>

<blockquote>
<p>Application windows are expected to have a root view controller at the
end of application launch</p>
</blockquote>

<p>在我的 AppDelegate 类中,我初始化了一个 UIViewController 和一个 UINavigationController。我在 UIWindow 对象上设置了我的 RootViewController 以使用这样的导航 Controller :</p>

<pre><code>var splashController = new SplashController(); // UIViewController
_navigationController = new UINavigationController(splashController);

...

_window = new UIWindow(UIScreen.MainScreen.Bounds);
_window.RootViewController = _navigationController;
_window.MakeKeyAndVisible();
</code></pre>

<p>到目前为止,我在运行我的应用程序时没有遇到任何问题。但是,我创建了一个继承自 UITabBarController 的新类,并且收到上述错误消息。如果需要,我可以将代码发布到它,但我也尝试使用继承自 UITabBarController 的空类运行我的应用程序,但我仍然收到相同的错误消息。</p>

<p>即使从未通过注释掉或删除 PushViewController 调用在我的代码中调用该类,我仍然无法运行应用程序。</p>

<p>对标签栏 Controller 的调用最终将如下所示:</p>

<pre><code>SplashController (UIViewController) &gt; push &gt; HomeController (UIViewController) &gt; push &gt; MenuController (DialogViewController) &gt; push &gt; StatsController (UITabBarController)
</code></pre>

<p>我猜我在这里缺少一些额外的东西,但是在谷歌搜索和四处搜索之后,我找不到我的问题的答案。感谢您的帮助</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果您使用的是 UITabBarController,它应该看起来像这样:</p>

<pre><code>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 ();
</code></pre>

<p>UITabBarController 应该是 RootViewController。</p></p>
                                   
                                                <p style="font-size: 20px;">关于c# - 添加 UITabBarController 时出错,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17741506/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17741506/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c# - 添加 UITabBarController 时出错