6

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

有没有其他人遇到过这个问题?谢谢。

我确保我的 root.UnevenRows = true;

我还尝试包含对话框项目并在 GetHeight() 中为任何实现 IElementSizing 的元素放置一个断点,但没有成功。在以前的 iPhone 项目中,这工作得很好,但在 iPad 上我仍然卡住了。还有其他我可能会遗漏的“陷阱”吗?

4

1 回答 1

10

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

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

有一个简单的解决方法:

this.Root.UnevenRows = true;

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

于 2011-11-12T05:14:52.807 回答