MonoTouch.Dialog: перевернутый текст в представлении заголовка раздела - PullRequest
2 голосов
/ 22 февраля 2012

Я использую MonoTouch.Dialog и создаю пользовательский раздел HeaderView.Текст отображается вверх ногами.Чего мне не хватает?

screenshot

public class SectionHeader: UIView
{
    string title;

    public SectionHeader (string Title): base(new RectangleF(0,0,320,40))
    {
        title = Title;
    }

    public override void Draw (RectangleF rect)
    {

        var topleft = new PointF (0, 0);
        var bottomright = new PointF (this.Frame.Width, this.Frame.Height);

        var context = UIGraphics.GetCurrentContext ();
        using (var cs = CGColorSpace.CreateDeviceRGB ())
        {
            using (var gradient = new CGGradient (cs, new float [] { 61f/255f, 1f/255f, 22f/255f, 1.0f, 1.0f, 1.0f,1.0f,1.0f }, new float [] { 0, 1 }))
            {
                context.DrawLinearGradient (gradient, topleft, bottomright, 0);
            }
        }

        context.SetFillColor (1, 1, 1, 1);
        context.SetTextDrawingMode (CGTextDrawingMode.Fill);
        context.TranslateCTM (0, 0);        
        context.SelectFont ("Helvetica", 20f, CGTextEncoding.MacRoman);
        context.ShowTextAtPoint (20, 20, title);
        context.StrokePath();   
    }
}

1 Ответ

2 голосов
/ 23 февраля 2012

UIKit (iOS) и CoreGraphics (iOS и OSX) имеют разные системы координат.Смотрите эту ссылку для деталей (и графики).

ОБНОВЛЕНИЕ

Это должно исправить это:

context.ScaleCTM (1.0f, -1.0f);
...