2

我的应用程序中有两个 UITable 静态部分,它们都有不同的标题。由于自定义背景,必须更改标题的颜色。

如何在我的 MonoTouch 应用程序中执行此解决方案,例如(链接)?

因为我使用静态部分,所以我没有可以在其中执行操作的 UITableViewSource。

我的解决方案(感谢 Krumelur)

[Export("tableView:viewForHeaderInSection:")]
UIView GetViewForHeaderInSecion (UITableView tableview, int section)
{
    UIView view = new UIView (new RectangleF (0, 0, 300, 0));
    view.BackgroundColor = UIColor.Clear;

    UILabel label = new UILabel (new RectangleF (15, 5, 300, 25));
    label.BackgroundColor = UIColor.Clear;
    label.TextColor = UIColor.White;
    label.ShadowColor = UIColor.Black;
    label.ShadowOffset = new SizeF(0, 1);
    label.Font = UIFont.BoldSystemFontOfSize(18);

    if (section == 0) {
        label.Text = "First section";
    } else {
        label.Text = "Second section";
    }

    view.AddSubview(label);
    return view;
}
4

1 回答 1

2

您必须在控制器中导出缺少的方法。就像是:

[Export("tableView:viewForHeaderInSection:")]
UIView GetViewForHeaderInSection(UITableView tableview, int section
{
// return your UIView with whatever background color here
}

请注意,您不能更改预定义视图的颜色,而必须返回整个视图。

于 2012-12-14T12:39:22.357 回答