2011-08-16 3 views
1

iOS 4のテキストに下線を付ける簡単な方法がありますか?おそらくIBで?ありがとうございます...iPhone:アンダーラインテキスト

+0

もっと具体的にしたい。 –

+0

私は間違いなくあなたに同意します。質問は明らかです... – Jim

+0

[UIlabelの下線のテキスト](http://stackoverflow.com/questions/2711297/underline-text-in-uilabel) –

答えて

4

私が知る限り、テキストに下線を付けることはできません。

UImageViewや通常のビューをテキストの色と同じ色で配置するなどして、 "擬似"することができます。ストライクスルーなどは使用できますが、下線は使用できません。

編集: あなたのUILabelに下線を引くためにこの方法を使用することができます。つまり、カスタムUILabelを使用することができます。だから、UILabelを継承CUILabelのようないくつかのクラスを作成し、次のと@implementationのセクションでそのdrawRect方法を置き換えることができます:あなただけのテキストの下にシンプルなラインを描き、あなたのテキストを描画した後

- (void)drawRect:(CGRect)rect { 
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    CGContextSetRGBStrokeColor(ctx, 0.0f/255.0f, 0.0f/255.0f, 255.0f/255.0f, 1.0f); // Your underline color 
    CGContextSetLineWidth(ctx, 1.0f); 

    UIFont *font = [UIFont systemFontOfSize:16.0f]; 
    CGSize constraintSize = CGSizeMake(MAXFLOAT, MAXFLOAT); 
    CGSize labelSize; 
    labelSize = [self.text sizeWithFont:font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap]; 

    CGContextMoveToPoint(ctx, 0, self.bounds.size.height - 1); 
    CGContextAddLineToPoint(ctx, labelSize.width + 10, self.bounds.size.height - 1); 

    CGContextStrokePath(ctx); 

    [super drawRect:rect]; 
} 
+2

下線を付けることができます。サブクラスuilabel –

3

だけサブクラスUILabelとのdrawRectで。 StrikeUILabelにいくつかのバグがありますが、そのクラスから始めることができます。

0

NSMutableAttributedString/NSAttributedStringを使用すると、フォント、色、タイプスタイル(下線を含む)などの豊富な属性を持つテキストを作成できます。テキストの下線する

Introduction to Attributed String Programming Guide

が特定...このリンクをたどって、一般的な詳細については、このリンクは.. Changing an Attributed String

+0

Mac OS Xとは異なり、iOSに属性付き文字列を描画する機能はありません。 – titaniumdecoy

+0

IOS 6には以下の属性文字列が追加されました: http://stackoverflow.com/questions/15328704/how-can-i-underline-text-in-ios-6 – Refactor

0

時々私はなし、下線色の背景に下線としてUILabelを使用することを好むを助けるかもしれませんテキスト、高さ1または2のピクセルと幅をTextと同じにしてアンダーラインにする...