C# MonoTouch:UITabBarController抛出';已加载nib,但未设置视图出口';

C# MonoTouch:UITabBarController抛出';已加载nib,但未设置视图出口';,c#,interface-builder,xamarin.ios,uitabbarcontroller,monodevelop,C#,Interface Builder,Xamarin.ios,Uitabbarcontroller,Monodevelop,我一直在网上搜索,但找不到解决办法 我创建了一个新的MonoTouch iPhone解决方案 我创建了一个名为myTestView的新视图 我添加了一个UITabBarController 我保存并退出界面生成器 在AppDelegate.cs中,我有这个代码 public override bool FinishedLaunching (UIApplication app, NSDictionary options) { window = new UIWindow (UIScreen.

我一直在网上搜索,但找不到解决办法

我创建了一个新的MonoTouch iPhone解决方案

我创建了一个名为myTestView的新视图

我添加了一个
UITabBarController

我保存并退出界面生成器

AppDelegate.cs
中,我有这个代码

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
    window = new UIWindow (UIScreen.MainScreen.Bounds);
    viewController = new myTestView ();
    window.RootViewController = viewController;
    window.MakeKeyAndVisible ();
    return true;
}
我运行应用程序并得到以下错误:加载了“myTestView”nib,但未设置视图出口


嗯,我不知道我错过了什么场景。有什么想法吗?

您是否将新视图创建为带有控制器的视图?这是唯一适合我的视图类型

您还应该检查一些其他事项:

1) 确保构造函数在主视图文件中存在且正确:

    //loads the myTestView.xib file and connects it to this object
    public myTestView () : base ("myTestView ", null)
    {
    }
2) 确保已正确创建设计器文件并具有正确的信息:

[Register ("myTestView")]
partial class myTestView
{

每个XIB文件都有一个名为“视图”的默认出口

它必须连接到ViewController中所需的根视图,否则会收到消息:“未设置视图出口”

例如,假设我想要一个新的UITableViewController:

  • 文件->新建->文件->iPhone视图控制器
  • 将我的控制器更改为从cs文件中的UITableViewController继承
  • 在XCode中打开XIB文件
  • 删除根UIView
  • 将UITableView添加到我的文件
  • 右键单击文件的所有者,将“视图”出口映射到带有愚蠢的蓝线的新UITableView

这应该可以解决您的错误。

Hmmm-这将我的错误更改为新错误:名称:UIViewControllerHierarchyInconsistency原因:一个视图一次最多只能与一个视图控制器关联!视图与关联。在将此视图与关联之前,请清除此关联。听起来您已将
视图连接了两次。