如何使用 CSS 设置 NSString 的样式?

How to style the NSString using CSS?

我有一个使用数据库的字典项目。我想对结果进行样式设置,使其可以分隔线、具有不同的颜色等。

示例:

Song ///this line will be blue color with strong text
N. // this line will be black color with strong text
うた // this line will be normal gray color

很难在 Objective-C 中将每个都放入标签中。我想知道是否可以使用 CSS?

设置样式

UIWebView 中显示您的内容并使用捆绑的 CSS 文件。

你可以使用这样的东西:

NSString *htmlTemplate = 
    @"<html>\n"
    "<head>\n"
    "<style type=\"text/css\">\n"
        "h4 {\n"
        "text-transform: uppercase;\n"
        "margin-bottom: 5px;\n"
        "font-family: HelveticaNeue;\n"
        "font-size: 18px;\n"
        "color: #212121;\n"
        "font-weight: bold;\n"
        "line-height: 1.1;\n"
        "text-align: center;\n"
        "margin-bottom: 15px\n"
    "}\n"
    "p {\n"
        "text-align: center;\n"
        "color: #757575;\n"
        "line-height: 1.2;\n"
        "font-family: Helvetica;\n"
        "font-size: 18px;\n"
    "}\n"
    "</style>\n"
    "</head>\n"
    "<body>\n"
    "%@\n"
    "</body>\n"
    "</html>";

NSString *text = @"<h4>This is a test</h4><p>Testing CSS styled text with Objective-C</p>";

myLabel.attributedText = [[NSAttributedString alloc]
                            initWithData:[[NSString stringWithFormat:htmlTemplate, text] dataUsingEncoding:NSUTF8StringEncoding]
                            options:@{ NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType }
                            documentAttributes:nil
                            error:nil];

这只是一个示例,您可以根据需要向模板添加更多 HTML 和换行符。