CGSize / SizeF绑定的转换值不正确

时间:2012-05-13 03:20:54

标签: xamarin.ios gmgridview

我正在使用MonoTouch绑定项目将GMGridView集成到我的应用程序中。我能够成功加载空的网格视图,但无法加载网格项。花了好几个小时在MonoTouch&目标C代码,结果是System.Drawing.SizeF绑定错误地转换为CGSize(即,SizeF(140f,110f)正在转换为CGSize(140,0) - 高度值丢失)。

目标C定义

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

Monotouch Binding

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

我想知道我是binding它是不正确还是这是一个已知的错误?此外,除了为高度值创建额外回调之外,还有什么解决方案。

绑定和测试代码发布在此处:GMGridMono

感谢您对此进行调查。

1 个答案:

答案 0 :(得分:1)

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