我正在尝试学习monotouch在这一刻,并跟随Mike BlueStein学习monotouch书.不是一本坏书,但是由于
xcode 4(我相信)和monotouch上的较新版本已经出现,它稍微过时了.
无论如何,在我的项目中,我有一个控制器和一个xib文件.我还有一个自定义视图(例如myview:UIView),它覆盖了绘制方法.我想在xib文件中定义的视图旁边显示我的自定义视图.我该怎么做?@H_404_3@
在控制器中,如果我重写LoadView方法,并将View设置为我的自定义视图的一个实例,那么我可以看到它,但是我放弃了xib文件中定义的所有内容.如果我尝试添加一个子视图,它根本不显示.@H_404_3@
我失踪了什么如果问题不明确,请问我,所以我可以澄清一下.@H_404_3@
干杯.@H_404_3@
解决方法
按照以下步骤在XIB中使用自定义视图:
首先,使用RegisterAttribute装饰视图:@H_404_3@
[Register("MyView")] public class MyView : UIView { }
public MyView(IntPtr handle) : base(handle) {}
当运行时在内存警告被破坏后,运行时将尝试重新创建视图,就需要这个构造函数.创建自定义类后:@H_404_3@
>在Xcode中打开XIB(总是通过MonoDevelop双击它),并在其中添加一个UIView.
>在Xcode中,将UIView的类设置为MyView(或将您传递给RegisterAttribute的任何名称):@H_404_3@
>编译运行.@H_404_3@
编辑:@H_404_3@
不要为从XIB加载的控制器覆盖LoadView.当该控件的视图未从XIB加载时,LoadView旨在创建控制器的视图.@H_404_3@