Как нарисовать подчеркивание на многослойной метке без использования Coretext?
-
28-10-2019 - |
Вопрос
Я пытался подчеркнуть многослойный ярлык, но я не могу этого сделать.
Я ссылался на эту ссылку Но это, похоже, мне не помогает.
Как можно сделать без использования nsattributedstring и coretext?
Решение
Вы можете использовать некоторые из этих проектов с открытым исходным кодом от GitHub, которые похожи на UILabel
S, но поддерживайте приписываемую строку:
Другие советы
Следующие шаги могут быть полезными.
- Расширить Uilable или Uiview.
- Осуществлять
- (void)drawRect:(CGRect)rect
- В этом методе получайте контекст, используя `cgcontextref ctx = uigraphicsgetCurrentContext ();
Установите текст, который вы хотите установить, используя это.
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));
Установите строку, используя этот код.
CGContextSetLineWidth(ctx, 3);
Нарисуйте линию, используя этот код.
CGContextBeginPath(ctx);
CGContextMoveToPoint(ctx, thisX, thisY);
CGContextAddLineToPoint(ctx, thatX,thatY);
CGContextStrokePath(ctx);
Надеюсь, что собранные сегменты кода помогут вам ....