2

私のアプリケーションには、両方の異なるヘッダーを持つ 2 つの UITable 静的セクションがあります。カスタム背景のため、ヘッダーの色を変更する必要があります。

MonoTouch アプリケーションで( link ) のようなこのソリューションを実行するにはどうすればよいですか?

私は静的セクションを使用しているため、何かを実行できる 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 に答える