首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextView定制

UITextView定制
EN

Stack Overflow用户
提问于 2013-02-07 17:58:15
回答 1查看 3K关注 0票数 3

我想在我的文本视图中格式化测试,一些文本是粗体的,一些东西是斜体的。uitextview可以吗?现在,我正在使用带有HTML字符串的webview。例如:

代码语言:javascript
复制
<html><head><style type=\"text/css\">h3 {color:white;} p {color:pink;} p {text-align: center} p {font-family:helvetica;font-size:20px;}</style></head><body>\
                                         <h3></h3>\
                                         <p><b>some text </b></p>\
                                         <p>Short some text</p>\
                                         <p>Child  Infusion  7.5 to 15 mg/kg/hr<br>ie 7.5 to 15 times weight per hour</p>\
                                         <p>Adult  Infusion  3 to 12 mg/kg/hr<br>ie 3 to 12 mg times weight per hour</p>\
                                         </body></html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-07 18:01:54

你可以使用NSAttributedString,设置文本字体,前景和背景颜色,StrikeThrough和阴影等。

属性字符串在字符及其属性之间建立关联。与NSString对象类似,也有两种变体: NSAttributedString和NSMutableAttributedString。尽管以前的iOS版本支持属性字符串,但直到iOS 6才定义了按钮、标签、文本字段和文本视图等控件的属性来管理属性。属性应用于一定范围的字符,因此,例如,可以仅为字符串的一部分设置删除线属性。同样重要的是要注意,属性字符串对象的默认字体是Helvetica 12点。如果您为范围而不是完整字符串设置字体属性,请记住这一点。可以使用属性字符串设置以下属性: NSString *const NSFontAttributeName;NSString *const NSParagraphStyleAttributeName;NSString *const NSForegroundColorAttributeName;NSString *const NSBackgroundColorAttributeName;NSString *const NSLigatureAttributeName;NSString *const NSKernAttributeName;NSString *const NSStrikethroughStyleAttributeName;NSString *const NSUnderlineStyleAttributeName;NSString *const NSStrokeColorAttributeName;NSString *const;*const;*const;

下面是一些例子

代码语言:javascript
复制
//-----------------------------
// Create attributed string
//-----------------------------
NSString *str = @"example for underline \nexample for font \nexample for bold \nexample for italics";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:str];

// Add attribute NSUnderlineStyleAttributeName
//[attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(12, 9)];
[attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:NSMakeRange(12, 9)];

// Set background color for entire range
[attributedString addAttribute:NSBackgroundColorAttributeName
                         value:[UIColor yellowColor]
                         range:NSMakeRange(0, [attributedString length])];


// Create NSMutableParagraphStyle object
NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init];
paragraph.alignment = NSTextAlignmentCenter;

// Add attribute NSParagraphStyleAttributeName
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraph range:NSMakeRange(0, [attributedString length])];



// Set font, notice the range is for the whole string
    UIFont *font = [UIFont fontWithName:@"Helvetica" size:18];
[attributedString addAttribute:NSFontAttributeName value:font range:NSMakeRange(35, 4)];



// Set font, notice the range is for the whole string
UIFont *fontBold = [UIFont fontWithName:@"Helvetica-Bold" size:18];
[attributedString addAttribute:NSFontAttributeName value:fontBold range:NSMakeRange(53, 4)];

// Set font, notice the range is for the whole string
UIFont *fontItalics = [UIFont fontWithName:@"Helvetica-Oblique" size:18];
[attributedString addAttribute:NSFontAttributeName value:fontItalics range:NSMakeRange(71, 7)];



// Set label text to attributed string
[self.mytextView setAttributedText:attributedString];

`

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14748225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档