MonoTouch对话框StringElements可变单元格高度
本文关键字:单元格 高度 对话框 StringElements MonoTouch | 更新日期: 2023-09-27 18:14:34
在使用MonoTouch.Dialog开发iPad应用程序时,我遇到了重写GetHeight
方法的问题。我正在实现IElementSizing
,但我的GetHeight
方法从未被调用。
还有其他人遇到过这个问题吗?谢谢。
我确保我的根。UnevenRows = true
我还尝试包括对话框项目,并在GetHeight()中为任何实现IElementSizing的元素放置一个断点,但没有运气。在之前的一个iPhone项目中,这种方法运行得很好,但在iPad上我仍然卡住了。还有其他我可能遗漏的"陷阱"吗?
这是MonoTouch.Dialog中的一个bug。基本上,当你分配根元素,它想知道是否有不均匀的行,所以它可以创建和缓存适当的UITableViewSource对象。
但是,如果您在源对象已经创建之后向根元素添加带有实现IElementSizing的元素的Sections。那么它就不会调用你的GetHeight重写。这方面的一个例子是,如果你获取数据异步和回调,并将结果的Sections/Elements添加到RootElement…或者在prepareeroot()被调用后添加Sections/Elements。
有一个简单的解决方法:
this.Root.UnevenRows = true;
如果没有查看你的代码,我不能说这是否是你所看到的bug。