Как нарисовать подчеркивание на многострочном ярлыке без использования CoreText? - PullRequest
1 голос
/ 09 сентября 2011

Я пытался подчеркнуть многострочный ярлык, но я не могу этого сделать.

Я сослал на эту ссылку , но, похоже, это мне не помогает.

Как это можно сделать без использования NSAttributedString и coreText?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Вы можете использовать некоторые из этих проектов с открытым исходным кодом из GitHub, которые похожи на UILabel, но поддерживают атрибутированную строку:

TTTAttributedLabel или OHAttributedLabel

1 голос
/ 09 сентября 2011

Следующие шаги могут быть полезны.

  1. Расширить UILable ИЛИ UIView.
  2. Реализация - (void)drawRect:(CGRect)rect
  3. В этом методе получить контекст, используя `CGContextRef ctx = UIGraphicsGetCurrentContext ();
  4. Установите текст, который вы хотите установить, используя это.

    CGContextSetRGBFillColor(context,1.0, 0.0, 0.0, 1.0);
    CGContextSetTextMatrix(context,CGAffineTransformMakeTranslation(0,pageSize.height));
    CGContextSetTextDrawingMode(context, kCGTextFill);
    CGContextSelectFont(context, "Helvetica", 30, kCGEncodingMacRoman);
    char *str=(char*)[@"TEXT" UTF8String];
    CGContextShowTextAtPoint(context,476/2-200,673/2+100,str,strlen(str));
    
  5. Установите строку, используя этот код.

    CGContextSetLineWidth(ctx, 3);

  6. Нарисуйте линию, используя этот код. </p> <p>CGContextBeginPath(ctx);<br> CGContextMoveToPoint(ctx, thisX, thisY);<br> CGContextAddLineToPoint(ctx, thatX,thatY);<br> CGContextStrokePath(ctx);<br>

Надеюсь, что собранные выше фрагменты кода помогут вам ...

...