什么可能导致消息异常:“找不到MonoTouch.UIKit.UIScrollView的构造函数......”

时间:2011-02-13 20:19:44

标签: xamarin.ios

我的视图层次结构如下: UIView,包含一个UIView,它包含一个UIScrollView,它包含一组xib加载的视图。

(加载xib的视图代表滚动内容,并且都是相同xib的实例。)

当设备上发生内存警告时(至少,我认为这与我有关),我在堆栈跟踪中得到以下异常:

System.MissingMethodException:找不到MonoTouch.UIKit.UIScrollView + _UIScrollViewDelegate ::。ctor(System.IntPtr)的构造函数

我熟悉故障排除常见问题解答:“当代码尝试实例化您从Interface Builder文件引用的类的实例时,会在运行时生成此错误。这意味着您忘记添加构造函数将一个IntPtr作为参数。“

然而,这不是我在这里的情况 - 并且xib的控制器确实实现了所提到的构造函数。当然,堆栈跟踪是指UIScrollView - 而不是我的一个类。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您允许UIScrollView收集垃圾,而它仍然存在于视图中。当发生这种情况时,我们用于生成事件的隐藏类似乎也是可收集的,并且被销毁。

只要您想继续在其上引发事件,就应该保留对UIScrollView的托管引用。