【发布时间】:2017-03-20 12:57:53
【问题描述】:
我是使用 Visual Studio 2015 进行 Xamarin iOS 开发的初学者,我发现了我的第一个疑问/问题。
当我尝试在单击按钮后加载嵌入到 NavigationController 中的 TabController 时,我得到一个黑屏,底部有白色标签栏(没有图像或任何配置显示)。
这是我的故事板(它有 NavigationController -> TabBarController -> 4 个 ViewController(HomeController、SearchController、MoreController、SettingController)):
所有组件都有 StoryBoard ID。
在以前的控制器中,我的 PushViewController 代码是这样的:
WorkspaceNavigationController controller = Storyboard.InstantiateViewController("WorkspaceNavigationController") as WorkspaceNavigationController;
if (controller != null)
{
controller.PushViewController(controller, true);
}
但我遇到了黑屏:S。在我的输出窗口中,我可以看到与视图控制器相关的“错误”:“接口生成器文件中的未知类 HomeController”,其他的也一样。
编辑:好的,显示黑屏是因为我的 WorkspaceNavigationController 是从 UIViewController 继承的。现在,从 UINavigationController 继承,我收到此错误:“不支持推送导航控制器”
我认为我不能将 PushViewController 与 NavigationController 一起使用,但我尝试对 TabBarController 做同样的事情,代码如下:
TabBarController controller = Storyboard.InstantiateViewController("TabBarController") as TabBarController;
if (controller != null)
{
controller.NavigationController.PushViewController(controller, true);
}
错误是另一个:“这个类不符合键 HomeController 的键值编码。”
编辑:我用获得的控制器更改了 NavigationController 的调用,但它似乎没有 NavigationController,因为它具有空值
真的,我不明白我怎么能展示这个。而且我不理解它的行为(因为(导航和 TabBar 控制器)都继承了 UIViewController)。您能给我一个解决方案以及如何理解吗?
提前致谢!
【问题讨论】:
标签: ios xamarin xamarin.ios