Xamarin.ios 单触式对话框。在屏幕上任何已定义位置的节
考虑一下这样的情况:Xamarin.ios 单触式对话框。在屏幕上任何已定义位置的节,xamarin.ios,monotouch.dialog,Xamarin.ios,Monotouch.dialog,考虑一下这样的情况: new RootElement ("Root"){ new Section ("Section A") { new EntryElement("Element in A") } new Section ("Section B") {
new RootElement ("Root"){
new Section ("Section A") {
new EntryElement("Element in A")
}
new Section ("Section B") {
new EntryElement("Element in B")
}
}
对话框将创建包含两个部分的TableView。现在,我希望第二部分不是位于第一部分的正下方,而是位于屏幕的最底部。我怎样才能做到这一点呢?我不相信MonoTouch。对话框可以做到这一点。您需要:
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")
}
};
lastSection.HeaderView = new UIView(new RectangleF(0,0,0,80));
似乎您可以通过为节定义空HeaderView来欺骗Monotouch.Dialog。它将扩展节之间的空间。大概是这样的:
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")
}
};
lastSection.HeaderView = new UIView(new RectangleF(0,0,0,80));
我不确定这是否是正确的方法。为我工作 我想你必须破解MT.D的来源才能做到这一点。这是一个非常极端的边缘情况,我不希望MT.D能够处理。实际上,我通过定义section的HeaderView来欺骗MTD,比如:lastssection.HeaderView=newuiview(newrectanglef(0,0,0,80));