Как добавяте субтитри към MonoTouch.Dialog RootElement?

MonoTouch.Dialog RootElement изглежда няма начин за добавяне на субтитри. Бих искал да покажа субтитри под надписа.

Трябва ли да подкласифицирам елемента и да добавя персонализиран изглед в метода GetCell?

Има ли по-прост вариант?


person rams    schedule 21.08.2012    source източник


Отговори (1)


Най-лесният начин да постигнете това е да подкласирате RootElement и да замените метода GetCell, да създадете нова клетка и да зададете LabelText и DetailLabelText. Това ще ви даде хубави субтитри

public override MonoTouch.UIKit.UITableViewCell GetCell(MonoTouch.UIKit.UITableView tv) {
        var baseCell = base.GetCell(tv); 
        var cell = new UITableViewCell(UITableViewCellStyle.Subtitle, "cellId");
        cell.TextLabel.Text = Caption;
        cell.DetailTextLabel.Text = _subtitle;
        cell.Accessory = baseCell.Accessory;
        return cell;
    }

Обърнете внимание на стила на клетката. За съжаление, изглежда, че клетъчният стил е наличен само по време на изграждането на клетката, а не след това. Така че не можете просто да извикате base.GetCell(tv) и да зададете неговия стил. Това щеше да е по-добър вариант.

_subTitle е променлива на ниво клас, зададена чрез персонализирания конструктор

private string _subtitle = string.Empty;

    public ChartSectionRootElement(string caption, string subTitle) : base(caption) {
        this._subtitle = subTitle;
    }
person rams    schedule 22.08.2012