可能性の重複:
underline text in UIlabeliPhone SDKのUILabelに下線を付けるにはどうすればいいですか?
いずれかはUILabelのテキストに下線を引くためにどのように私を表示するコードを提供することができますか? Interface BuilderではUILabelのテキストに下線を引いていますが、うまくいきません。
可能性の重複:
underline text in UIlabeliPhone SDKのUILabelに下線を付けるにはどうすればいいですか?
いずれかはUILabelのテキストに下線を引くためにどのように私を表示するコードを提供することができますか? Interface BuilderではUILabelのテキストに下線を引いていますが、うまくいきません。
UIView
継承クラスのdrawRect:
メソッドを実装する必要があります。
- (void)drawRect:(CGRect)rect
{
// Get the Render Context
CGContextRef ctx = UIGraphicsGetCurrentContext();
// Measure the font size, so the line fits the text.
// Could be that "titleLabel" is something else in other classes like UILable, dont know.
// So make sure you fix it here if you are enhancing UILabel or something else..
CGSize fontSize =[self.titleLabel.text sizeWithFont:self.titleLabel.font
forWidth:self.bounds.size.width
lineBreakMode:UILineBreakModeTailTruncation];
// Get the fonts color.
const float * colors = CGColorGetComponents(self.titleLabel.textColor.CGColor);
// Sets the color to draw the line
CGContextSetRGBStrokeColor(ctx, colors[0], colors[1], colors[2], 1.0f); // Format : RGBA
// Line Width : make thinner or bigger if you want
CGContextSetLineWidth(ctx, 1.0f);
// Calculate the starting point (left) and target (right)
float fontLeft = self.titleLabel.center.x - fontSize.width/2.0;
float fontRight = self.titleLabel.center.x + fontSize.width/2.0;
// Add Move Command to point the draw cursor to the starting point
CGContextMoveToPoint(ctx, fontLeft, self.bounds.size.height - 1);
// Add Command to draw a Line
CGContextAddLineToPoint(ctx, fontRight, self.bounds.size.height - 1);
// Actually draw the line.
CGContextStrokePath(ctx);
// should be nothing, but who knows...
[super drawRect:rect];
}
取らフォームiPhone Programming how to underline UILabel
またUILabel
を継承することができます。ちょうど同じことをするbelwoのSOの記事を見てください。
あなたはdrawTextInRec
で自分をUILabelをinheritateと線を引くことができます