1

Monotouch Dialogs RootElement のスタイルを設定する方法が必要です。背景とフォントの色を変更する必要があります。

以下のようにカスタム RootElement を作成しました

public class ActivityRootElement : RootElement
{
    public ActivityRootElement (string caption) : base (caption)
    {

    }

    public ActivityRootElement(string caption, Func<RootElement, UIViewController> createOnSelected) : base (caption, createOnSelected)
    {
    }

    public ActivityRootElement(string caption, int section, int element) : base (caption, section, element)
    {
    }

    public ActivityRootElement(string caption, Group group) : base (caption, group)
    {
    }



    public override UITableViewCell GetCell (UITableView tv)
    {
        tv.BackgroundColor = Settings.RootBackgroundColour;
        return base.GetCell (tv);
    }

    protected override void PrepareDialogViewController(UIViewController dvc)
    {
        dvc.View.BackgroundColor =  Settings.RootBackgroundColour;
        base.PrepareDialogViewController(dvc);
    }

}

次に、カスタム DialogController を渡す以下のようにカスタム ルート要素を呼び出しています。

    section.Add (new ActivityRootElement(activity.Name, (RootElement e) => {
                return new ActivityHistoryDialogViewController (e,true);
            }));

ルート要素スタイルは適用されていません。どんな助けでも感謝します!!

4

2 に答える 2

1

色だけを TableViewController に表示する場合は、BackgrounView を null に設定する必要があります。スタイリングを適用するためのオーバートップ ビューがあり、探している色を非表示にします。

これを試して:

public override UITableViewCell GetCell (UITableView tv)
{
    tv.BackgroundColor = Settings.RootBackgroundColour;
    tv.BackgroundView = null;
    return base.GetCell (tv);
}

protected override void PrepareDialogViewController(UIViewController dvc)
{
    dvc.TableView.BackgroundColor =  Settings.RootBackgroundColour;
    dvc.TableView.BackgroundView = null;
    base.PrepareDialogViewController(dvc);
}
于 2013-03-18T17:34:14.863 に答える