如何在iPhone中的行文本(目標c)?如何在iPhone應用程序中強調文本
1
A
回答
3
UILabel沒有簡單的下劃線。因此,有兩種方法:
- 使用
UIWebView
在那裏你可以強調你需要<span style="text-decoration:underline">underlined html text<span>
文本。 - 自定義
UILabel
- 對於短的單線標籤,這是一個好主意。您應該創建一些CUILabel
類繼承UILabel
和替換它的drawRect
方法@implementation
部分用下面的代碼:
`
- (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];
}
1
除了NR4TR的回答另一種選擇是使用CoreText。
0
我改變NR4TR的代碼更自動:
#import "UILabelUnderlined.h"
@implementation UILabelUnderlined
@synthesize underlineWidth;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.underlineWidth = 1.0f;
}
return self;
}
- (void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGFloat red;
CGFloat green;
CGFloat blue;
CGFloat alpha;
[self.textColor getRed:&red green:&green blue:&blue alpha:&alpha];
CGContextSetRGBStrokeColor(ctx, red, green, blue, 1.0f); // Your underline color
CGContextSetLineWidth(ctx, self.underlineWidth);
CGSize constraintSize = CGSizeMake(MAXFLOAT, MAXFLOAT);
CGSize labelSize;
labelSize = [self.text sizeWithFont:self.font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
CGContextMoveToPoint(ctx, 10, self.bounds.size.height - 1);
CGContextAddLineToPoint(ctx, labelSize.width + 10, self.bounds.size.height - 1);
CGContextStrokePath(ctx);
[super drawRect:rect];
}
@end
+0
是否從文本顏色故意丟棄了alpha值? – 2012-10-02 11:55:21
0
可以使用的WebView &對勾 「鏈接」 複選框,在檢測&給HTML文本
htmlContentTxt = @"<a title="XYZ" href="http://www.XYZ.com">www.XYZ.com</a>";
[webview loadHTMLString:htmlContentTxt baseURL:nil];
相關問題
- 1. 如何強調的UILabel文本 - iPhone應用程序
- 2. 如何從iPhone內部調用iPhone應用程序調用應用程序
- 3. 如何在iPhone應用程序中重寫文本
- 4. 如何給文本空間在PDF中的iPhone應用程序
- 5. iPhone應用程序中的Wifi強度
- 6. 圖像增強在iPhone應用程序
- 7. 在iPhone應用程序中調用Ajax
- 8. 你將如何從本地iPhone應用程序調用其他應用程序?
- 9. 如何調試iPhone應用程序
- 10. 強制通用應用程序在iPad上運行iPhone版本
- 11. 在iPhone應用程序中調試EXC_BAD_ACCESS
- 12. 如何在iPhone Safari中強制刷新Web應用程序文檔?
- 13. 如何本地化iPhone應用程序
- 14. 如何在rails應用程序中強制使用gem版本?
- 15. Iphone調用應用程序
- 16. 如何在iphone應用程序中調用方法?
- 17. 如何在Android XML中強調文本?
- 18. 如何在Python中強調文本
- 19. 如何在Perl Linux中強調文本?
- 20. 如何在iOS 6中強調文本?
- 21. 調試iphone應用程序
- 22. 如何在iPhone的本地代碼中調用phonegap應用程序
- 23. iPhone應用程序開發:內置應用程序增強
- 24. 如何在iPhone應用程序中爲flickr創建回調url?
- 25. 如何在iPhone中調試應用程序?
- 26. iphone:在本地iPhone應用程序中嵌入Safari(如「框架」)
- 27. 如何強制在ARC應用程序下調用didReceiveMemoryWarning
- 28. iPhone應用程序中斷髮布版本不在調試
- 29. 在iPhone應用程序中調用Flash文件
- 30. 如何在iPhone SDK中強調UILabel?
什麼短信?在UILabel中?在UITextField中?在UITextView?直接在視圖上繪圖?這不是任何人都可以回答的問題。 – 2011-02-08 10:37:06