テキスト ビューのテキストの特定の部分に下線を引く必要があるアプリを作成しています。太字やイタリック体にするなど、これを行う簡単な方法はありますか、それともカスタムフォントを作成してインポートする必要がありますか? 事前に助けてくれてありがとう!
質問する
5239 次
3 に答える
2
これが私がしたことです。バターのように機能します。
1) フレームワークに追加CoreText.framework
します。
<CoreText/CoreText.h>
2)下線付きのラベルが必要なクラスにインポートします。
3) 次のコードを記述します。
NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:@"My Messages"];
[attString addAttribute:(NSString*)kCTUnderlineStyleAttributeName
value:[NSNumber numberWithInt:kCTUnderlineStyleSingle]
range:(NSRange){0,[attString length]}];
self.myMsgLBL.attributedText = attString;
self.myMsgLBL.textColor = [UIColor whiteColor];
于 2013-10-28T07:42:12.173 に答える
1
#import <UIKit/UIKit.h>
@interface TextFieldWithUnderLine : UITextField
@end
#import "TextFieldWithUnderLine.h"
@implementation TextFieldWithUnderLine
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (void)drawRect:(CGRect)rect {
//Get the current drawing context
CGContextRef context = UIGraphicsGetCurrentContext();
//Set the line color and width
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
CGContextSetLineWidth(context, 0.5f);
//Start a new Path
CGContextBeginPath(context);
// offset lines up - we are adding offset to font.leading so that line is drawn right below the characters and still characters are visible.
CGContextMoveToPoint(context, self.bounds.origin.x, self.font.leading + 4.0f);
CGContextAddLineToPoint(context, self.bounds.size.width, self.font.leading + 4.0f);
//Close our Path and Stroke (draw) it
CGContextClosePath(context);
CGContextStrokePath(context);
}
@end
于 2015-06-22T06:57:21.643 に答える
0
iOS 6.0 以降UILabel
、 attributedText プロパティを使用した属性付き文字列UITextField
の表示をUITextView
サポートします。
使用法:
NSMutableAttributedString *aStr = [[NSMutableAttributedString alloc] initWithString:@"text"];
[aStr addAttribute:NSUnderlineStyleAttributeName value:NSUnderlineStyleSingle range:NSMakeRange(0,2)];
label.attributedText = aStr;
于 2012-09-14T11:42:16.787 に答える