为什么我的自定义视图不会出现在MonoMac中?

时间:2013-11-07 20:22:35

标签: c# macos mono xamarin monomac

我正在使用Xamarin Studio和MonoMac项目。目前我正在尝试将自定义视图显示在我的主窗体中,但它似乎不起作用。

这些是我经历的步骤:

  1. 创建了新的MonoMac项目。
  2. 添加了一个新的Cocoa视图(TestView.xib)。
  3. 双击TestView.xib在Xcode中打开并添加一些 组件,然后关闭Xcode。
  4. 双击MainWindow.xib 在Xcode中打开。
  5. 向窗口添加自定义视图并将类设置为 TestView。
  6. 一切都建立好但我的窗口是空白的。

    有什么明显的我做错了吗?

    谢谢, 艾伦

1 个答案:

答案 0 :(得分:1)

这似乎是合乎逻辑的方法,但它不起作用。您无法设计.xib,然后将其直接嵌入到另一个.xib中(就像您使用Windows Forms控件一样)。

为此,您需要:

  • 将自定义视图中的插座添加到窗口
  • 在您的代码中,创建一个视图实例
  • 以编程方式将自定义视图替换为新实例,通常在AwakeFromNib()

通常在Cocoa中,您可以使用ViewController来实例化您的测试视图实例,但这不是必需的

this.Window.ContentView.ReplaceSubviewWith(this. myCustomViewPlaceHolder, new MyCustomViewController().View);

您可能会发现此discussion有用。