MonoTouch如何自动生成XIB代码?

时间:2010-05-25 22:24:14

标签: xamarin.ios xib

我是一名C#程序员,正在使用MonoTouch进行一些iPhone开发。

我在项目中添加了一个新的View Interface Definition,然后双击以在Interface Builder中打开它。我添加了一个UIButton。我保存文件,并检查xib.designer.cs文件,我看不到对新按钮的引用。

我从http://monotouchexamples.com/下载了代码,在那里我可以看到自动生成代码的示例:

[MonoTouch.Foundation.Connect("infoButton")]
private MonoTouch.UIKit.UIButton infoButton {
get {
return ((MonoTouch.UIKit.UIButton)(this.GetNativeField("infoButton")));
}
set {
this.SetNativeField("infoButton", value);
}
}

我在界面构建器中打开了MainWindow.xib。我注意到一些差异。 File的Owner属于UIApplication而不是NSObject。这有什么重要意义? AppDelegate类型的App Delegate对象。我无法将AppDelegate添加到我自己的视图中,或者至少我在库中找不到它。我需要添加一个吗?我可以看到MainWindow.xib上的现有控件具有到App Delegate的引用插座。我添加了一个新按钮,我想把它连接起来。当我单击并将New Referencing Outlet拖动到App Delegate时,会出现一个列出现有控件的上下文菜单。如何在此列表中添加新元素,或者此列表来自何处?

我被Visual Studio世界宠坏了,我只是在表单上转储一个按钮并开始为click事件编写代码。有人可以提供一些关于在MonoTouch上运行所需步骤的指示吗?

谢谢,

帕特里克

3 个答案:

答案 0 :(得分:1)

单独添加按钮是不够的。在Interface Builder外部无法访问该按钮。您需要添加一个Outlet,并将该按钮与Interface Builder中的插座连接。

请记住:Outlets是Controller类中的成员,它们获取对控件的引用,您不能只使用它们来访问控件。

答案 1 :(得分:1)

答案 2 :(得分:0)

听起来我创建的项目已经过时了 - 我记得在设计器文件中创建生成的按钮的方式有很多变化。我会尽快更新项目。

正如Dave所说,要使代码自动生成,您需要使用Interface Builder添加插座。这个视频应该有一个例子 - http://bit.ly/aWoItN但是服务器此刻似乎已经停止了。

希望这有帮助,

ChrisNTR

相关问题