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

Xamarin.ios CGSize/SizeF绑定的转换值不正确,xamarin.ios,gmgridview,Xamarin.ios,Gmgridview,我正在进行MonoTouch绑定项目,以集成到我的应用程序中。我能够成功加载空网格视图,但无法加载网格项。在MonoTouch和Objective C代码上花费数小时后,发现System.Drawing.SizeF绑定错误地转换为CGSize(即SizeF(140f,110f)转换为CGSize(140,0)-高度值丢失) 目标C定义 - (CGSize)GMGridView:(GMGridView *)gridView sizeForItemsInInterfaceOrientatio

我正在进行MonoTouch绑定项目,以集成到我的应用程序中。我能够成功加载空网格视图,但无法加载网格项。在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);
我想知道我是不是搞错了,还是这是一个已知的bug?另外,除了为高度值创建额外的回调之外,还有什么分辨率呢

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


感谢您对此进行研究。

我在绑定到返回CGSize的方法时遇到了同样的问题。Monotouch V5.2.12。它发生在模拟器上,但不在设备上。从mono应用程序直接调用该方法可以很好地工作,但当该方法用作绑定库对mono代码的回调时,返回的高度值不正确,并且看起来未初始化。

好主意,MonoTouch确实缺少网格视图组件。只要我有时间,我会尽快帮你处理端口。当然,随时更新项目。现在,我正在创建一个额外的回调来传递height。您使用的是哪个版本的MonoTouch?这种情况是在模拟器中还是在设备上发生的(或者两者都发生)?我刚刚试用了5.2.11,但在模拟器中找不到任何问题(我在SlidesGridView.cs:29中打印了SizeForItemsInInterfaceOrientation的返回值,它们很好)。@RolfBjarneKvinge感谢您的研究。这是在模拟器中发生的。我还没有用这个设备测试过。我将测试并更新此帖子。我看到此项目已停止:(