2

我正在开发 MonoTouch 绑定项目,以将GMGridView集成到我的应用程序中。我能够成功加载空的网格视图,但无法加载网格项目。在 MonoTouch 和 Objective C 代码上花费数小时后,结果发现 System.Drawing.SizeF 绑定错误地转换为 CGSize(即 SizeF(140f, 110f) 正在转换为 CGSize(140, 0) - 高度值丢失) .

目标 C 定义

    - (CGSize)GMGridView:(GMGridView *)gridView sizeForItemsInInterfaceOrientation:(UIInterfaceOrientation)orientation;

单点触控绑定

    [Abstract, Export ("GMGridView:sizeForItemsInInterfaceOrientation:")]
    System.Drawing.SizeF SizeForItemsInInterfaceOrientation (GMGridView gridView, UIInterfaceOrientation orientation);

我想知道我是否错误地绑定它或者这是一个已知的错误?此外,除了为高度值创建额外的回调之外,还有什么解决方法。

绑定和测试代码贴在这里:GMGridMono

感谢您查看这个。

4

1 回答 1

1

我在绑定到返回 CGSize 的方法时遇到了同样的问题。单触 V5.2.12。它发生在模拟器上,但不在设备上。从单声道应用程序直接调用该方法可以正常工作,但是当该方法用作从绑定库到单声道代码的回调时,返回的高度值不正确并显示为未初始化。

于 2012-06-22T12:32:49.280 回答