1

我一直试图在多行标签下划线,但我无法做到这一点。

我已经提到了这个链接,但这似乎对我没有帮助。

不使用 NSAttributedString 和 coreText 怎么办?

4

2 回答 2

2

您可以使用 GitHub 中的一些开源项目,它们类似于UILabel's 但支持属性字符串:

TTTAttributedLabel或者OHAttributedLabel

于 2011-09-09T06:36:32.197 回答
1

以下步骤可能会有所帮助。

  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. 使用此代码设置 Line。

    CGContextSetLineWidth(ctx, 3);

  6. 使用此代码画线。

    CGContextBeginPath(ctx);
    CGContextMoveToPoint(ctx, thisX, thisY);
    CGContextAddLineToPoint(ctx, thatX,thatY);
    CGContextStrokePath(ctx);

希望以上收集的代码段对您有所帮助....

于 2011-09-09T07:48:41.240 回答