1

一段时间以来,我一直在使用 MT.D 来制作基于表格的 UI 布局。但是,我发现 XibFree 非常适合在布局自定义页面的同时将布局代码保留为代码(而不是使用设计器)。这是为了(a)通过代码轻松定制和(b)其他开发人员的可维护性。

我想同时使用两者。XibFree 的表创建不像 MT.D 那样易于使用,但我找不到从一个部分中提取 UIView 并将其放入我的 XibFree 布局的方法(我只需要一个 UIView 来执行此操作)。

有任何想法吗?我尝试过使用 DVC 中的 View 和 RootElement 中的 TableView,但都无法在我的布局中显示。

例子:

new NativeView()
{
    // table view from RootElement - shows empty space where table should be
    View = entryView.TableView
},

我还尝试将 UITableView 添加到我的视图中,并通过调用 ReloadData() 将 DVC 的 TableView 属性设置为该属性,但没有成功。

我能够让它以这种方式加载:

var re = new RootElement ("") {
    new Section("Please Sign In")
    {
        (userName = new EntryElement("User name", "Your user name", "")),
        (password = new EntryElement("Password", "Your password", "", true))
    }
};
var entryView = new DialogViewController (re, false);
//entryView.
var uitv = new UITableView (RectangleF.Empty, UITableViewStyle.Grouped);
entryView.LoadView ();
//entryView.TableView = uitv;
re.TableView.Frame = RectangleF.Empty;
uitv = re.TableView;

然后在我的布局中:

new NativeView()
{
    View = uitv,
    LayoutParameters = new LayoutParameters()
    {
        Width = AutoSize.FillParent,
        Height = 200
    }
},

这给了我视图内的可滚动区域: 在此处输入图像描述

带有线条的区域是它自己的可滚动视图,考虑到我只是为该区域提供了我创建的一个部分的表格视图,我没想到它。我想从中取出部分并将它们插入到我的视图中,因此我的视图中没有可滚动的视图。(别介意 UITextfields 的怪异外观,我正在使用 Pixate 来设置样式。)

我希望这只是我在这里缺少的一些小东西,这应该是一项微不足道的任务。

编辑:还有一种方法可以计算渲染部分的高度,以提供给 LayoutParameters 对象吗?

4

0 回答 0