2012-03-30 50 views
0

我正在使用MonoTouch.Dialog开发具有自定义元素的应用程序。 我几个星期没有更新源代码。昨天我做到了,并意识到IElementSizing的GetHeight不再被调用。我甚至使用新的标志作为根:UnevenRows,但它没有帮助。 我做了一个简单的测试,即使MessageElement实现了GetHeight并返回78f,即使对于像MessageElement这样的标准元素,下面的代码也会提供标准高度为44f的单元格。这是一个错误还是我做错了什么?MonoTouch.Dialog Element.GetHeight停止工作?

var root = new RootElement ("Test"){ 
      new Section ("Text View"){ 
       new MessageElement {Sender="Sender", Body="Body", Subject="Subject", Caption="Caption"} 
      } 
     }; 

root.UnevenRows = true; 
var form = new DialogViewController (root, true); 
+0

请修改您的问题,以包括您正在使用的MonoTouch和MonoTouch.Dialog的确切版本(例如,如果您使用GIT的源代码)。 FWIW适用于我,即在使用** Sample **应用程序(在github中)时调试命中“MessageElement.GetHeight”。 – poupou 2012-03-30 11:58:45

回答

0

我有同样的问题,但幸运的是,我发现还发现了一个解决方法。

设置Root.UnevenRows = true后调用ReloadData()

  this.Root.UnevenRows = true; 
      this.ReloadData();