【发布时间】:2011-05-06 21:57:58
【问题描述】:
使用 monotouch 和 monodevelop,我想创建一个自定义控件。 我按照以下步骤操作:
- 添加一个新文件作为“iPhone View”(称之为TestView)
- 在 Interface Builder 中编辑 TestView.xib,es。改变它的背景和大小
- 在 Interface Builder 中编辑 MainWindow.xib,添加 UIView 并将其类标识设置为“TestView”。
此时,我想启动应用程序并在 MainWindow 的 UIView 中查看 TestView 实例的内容。
为了获得这种“绑定”,我尝试了几个步骤(我知道这可以通过创建插座的代码等来完成,但我想了解它是否可以通过 Interface builder 来完成)。
在尝试的一种方法中,我通过 Interface Builder 将值“TestView”设置为 TestView.xib 视图中的类标识符:这样 MonoTouch 在 TestView.xib.designer.cs 中创建了代码。
[MonoTouch.Foundation.Register("TestView7")]
public partial class TestView7 {
}
然后,在 TestView.xib.cs 中,我添加了:
public partial class TestView : UIView
{
public TestView (IntPtr p) : base(p)
{
}
}
当我启动应用程序时,我无法在 MainWindow 的视图中看到 TestView 的内容,但是如果在 TestView 构造函数中我添加了诸如
之类的内容BackgroundColor = UIColor.Yellow;
然后,我可以在 MainWindow 中看到 TestView... 或者更好的是,我只能看到黄色矩形,而不是真正的内容!
所以,问题是TestView绑定到MainWindow中的UIView,但它的内容只来自代码,而不是来自TestView.xib中通过Interface Builder定义的内容。
有没有办法从 TestView.xib 加载内容?
【问题讨论】:
标签: interface-builder xamarin.ios custom-controls