MonoTouch Dialog StringElements可变单元格高度

Ric*_*ake 6 c# xamarin.ios ipad ios monotouch.dialog

GetHeight在使用MonoTouch.Dialog开发iPad应用程序时,我遇到了覆盖该方法的问题.我正在实现,IElementSizing但我的GetHeight方法永远不会被调用.

还有其他人遇到过这个问题吗?谢谢.

我确保我的root.UnevenRows = true;

我还尝试包含对话框项目,并在GetHeight()中为任何实现IElementSizing但没有运气的元素放置一个断点.在以前的iPhone项目中,这个工作正常,但在iPad上我仍然卡住了.还有其他任何"陷阱"我可能会丢失吗?

Anu*_*nuj 10

这是MonoTouch.Dialog中的一个错误.基本上,当您分配根元素时,它想知道是否存在不均匀的行,因此它可以创建和缓存适当的UITableViewSource对象.

但是,如果在创建Source对象后,将具有实现IElementSizing的元素的Sections添加到Root元素.然后它不会调用你的GetHeight覆盖.例如,如果您获取数据异步和回调并将生成的Sections/Elements添加到RootElement ...或者基本上在调用PrepareRoot()之后添加Sections/Elements时.

有一个简单的解决方法:

this.Root.UnevenRows = true;
Run Code Online (Sandbox Code Playgroud)

但是,如果不查看您的代码,我不能说这是否是您看到的错误.