Monotouch对话。屏幕上任何已定义位置的部分

时间:2011-11-15 18:01:04

标签: xamarin.ios monotouch.dialog

考虑这样的事情:

new RootElement ("Root"){
                          new Section ("Section A") {
                            new EntryElement("Element in A")
                          }
                          new Section ("Section B") {
                            new EntryElement("Element in B")
                          }
}

和Monotouch.Dialog将创建两个部分的TableView。现在我希望第二部分不在第一部分的正下方,而是在屏幕的最底部。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

看来你可以通过为该部分定义空的HeaderView来欺骗Monotouch.Dialog。它将扩大部分之间的空间。像这样:

lastSection.HeaderView = new UIView(new RectangleF(0,0,0,80));

我不确定这是不是正确的做法。为我工作。

答案 1 :(得分:1)

我不相信MonoTouch.Dialog可以做到这一点。你需要:

  1. 定义一个大型透明UITableViewCell子类。
  2. 定义一个'Element'子类并覆盖它的GetCell(...)方法,以提供上面子类化的单元格。
  3. 在上面的元素上实现IElementSizing并实现GetHeight(...)来描述第一个和最后一个单元格之间透明单元格的高度。
  4. 使用您的顶部EntryElement和底部EntryElement部分之间的Element子类创建一个空的Section。
  5. 结果代码如下所示:

    this.Root = new RootElement ("Root") {
        new Section ("Section A") {
            new EntryElement("Element in A")
        }
        new Section("") {
            new EmptyElement()
        }
        new Section ("Section B") {
            new EntryElement("Element in B")
        }
    };