我必须显示一个包含粗体字的文字段落。离。
如果我使用不同的标签,那么在更改方向时,它不会正确调整大小。
任何人都可以告诉我最好的方法是什么。
答案 0 :(得分:1)
您必须使用NSAttributedString
并将其分配给UITextField
,这是一个示例:
UIFont *boldFont = [UIFont boldSystemFontOfSize:fontSize];
UIFont *regularFont = [UIFont systemFontOfSize:fontSize];
NSMutableAttributedString *myAttributedString = [[NSMutableAttributedString alloc] initWithString:yourString];
[myAttributedString addAttribute:NSFontAttributeName
value:boldFont
range:NSMakeRange(0, 2)];
[myAttributedString addAttribute:NSFontAttributeName
value:regularFont
range:NSMakeRange(3, 5)];
[self.description setAttributedText:myAttributedString];
在此处查找所有文档:
答案 1 :(得分:1)
您可以使用NSAttributedString
使用UITextView(查看apple doc)
你有一个如何使用它的解释here。
您可以找到单词的范围并更改字体或颜色或使用以下内容:
- (IBAction)colorWord:(id)sender {
NSMutableAttributedString *string = [[NSMutableAttributedString alloc]initWithString:self.text.text];
NSArray *words = [self.text.text componentsSeparatedByString:@" "];
for (NSString *word in words)
{
if ([word hasPrefix:@"@"])
{
NSRange range=[self.text.text rangeOfString:word];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range];
}
}
[self.text setAttributedText:string];
}
答案 2 :(得分:0)
对于您的情况,您可以使用webView并使用字符串加载它:
[webView loadHTMLString:[NSString stringWithFormat:@"<html><body style=\"background-color: transparent;\">This is <b><i>Test</b></i> dummy text ..</body></html>"] baseURL:nil];