C# 如何在monotouch中将自定义视图添加到XIB文件定义视图
我现在正在努力学习monotouch,并遵循Mike BlueStein的《学习monotouch》一书。这本书不错,但自从Xcode4(我相信)和monotouch的更新版本问世以来,它已经有点过时了 无论如何,在我的项目中,我有一个控制器和一个xib文件。我还有一个自定义视图(例如myview:UIView),它覆盖了draw方法。我想在xib文件中定义的视图旁边或顶部显示我的自定义视图。我该怎么做 在控制器中,如果我重写LoadView方法,并将视图设置为自定义视图的实例,那么我可以看到它,但我丢失了在xib文件中定义的所有内容。如果我尝试添加为子视图,它根本不会出现 我错过了什么?如果问题不清楚,请问我,这样我可以澄清C# 如何在monotouch中将自定义视图添加到XIB文件定义视图,c#,ios,mono,xamarin.ios,monodevelop,C#,Ios,Mono,Xamarin.ios,Monodevelop,我现在正在努力学习monotouch,并遵循Mike BlueStein的《学习monotouch》一书。这本书不错,但自从Xcode4(我相信)和monotouch的更新版本问世以来,它已经有点过时了 无论如何,在我的项目中,我有一个控制器和一个xib文件。我还有一个自定义视图(例如myview:UIView),它覆盖了draw方法。我想在xib文件中定义的视图旁边或顶部显示我的自定义视图。我该怎么做 在控制器中,如果我重写LoadView方法,并将视图设置为自定义视图的实例,那么我可以看到它
干杯。按照以下步骤在XIB中使用自定义视图: 首先,用
注册表属性
装饰视图:
[Register("MyView")]
public class MyView : UIView
{
}
并实现以下构造函数:
public MyView(IntPtr handle) : base(handle) {}
当运行时试图在视图被内存警告破坏后重新创建视图时,需要使用此构造函数。创建自定义类后:
- 在Xcode中打开XIB(总是通过MonoDevelop双击它),并在需要的地方添加一个
UIView
- 在Xcode中,将UIView的类设置为MyView(或传递给
注册表属性的名称):
- 编译运行
不要覆盖从XIB加载的控制器的
LoadView
<代码>加载视图用于在控制器视图未从XIB加载时创建控制器视图。谢谢Dimitris,回答得很好
对于像我一样感到困惑的人,下面是添加和使用Xib文件作为部分/子视图的最简单的过程:
LoginView.Xib
)LoginView.cs
”)RegisterAttribte
)和Constructor
,如上所示
迪米特里斯。
LoginView.xib
以在XCode IB中打开它。然后更改xib文件的Custom Class
属性以指向您的“代码隐藏文件”(即LoginView.cs
)