我想在网站上使用新的旧金山字体.我试过了:
font: 'San Francisco', Helvetica, Arial, san-serif;
无济于事.我已经尝试过这个问题的答案,但这@font-face不是解决方案.
我需要在我的iOS应用程序中显示HTML文本.我决定使用内置方法NSAttributedString,initWithData:options:documentAttributes:error:.实际的解析工作非常好,但是,我似乎遇到了一个非常奇怪的错误,如果我附加调试器,它似乎只会表现出来.
第一次调用此方法时,在运行iOS 7.0.4的iPhone 5S上运行时间不到1秒,在iPod Touch第5代上运行约1.5秒.这个怪癖也体现在模拟器上,但由于模拟器的绝对速度,它明显不那么引人注目.
后续呼叫只需要大约10-50毫秒,这比初始呼叫要快得多.
这似乎与输入字符串的缓存无关,因为我在我的"真实"应用程序中使用多个输入字符串对其进行了测试.
但是,当我在没有调试器的情况下运行程序时,它按预期运行,大约需要10-20ms,这是我希望HTML解析所采用的.
以下是相关的代码部分:
-(void) benchmarkMe:(id)sender {
    NSData *data = [testString dataUsingEncoding:NSUTF8StringEncoding];
    NSTimeInterval startTime = [[NSDate date] timeIntervalSinceReferenceDate];
    // So the complier doesn't keep complaining at me.
    __attribute__((unused))
    NSAttributedString *parsed = [[NSAttributedString alloc] initWithData:data
                                                                  options:@{
                                                                        NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
                                                                        NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)
                                                                    }
                                                       documentAttributes:nil
                                                                    error:nil];
    NSTimeInterval endTime = [[NSDate date] timeIntervalSinceReferenceDate];
    NSString *message = [NSString stringWithFormat:@"Took %lf seconds.", endTime - startTime];
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Benchmark complete!"
                                                        message:message
                                                       delegate:nil
                                              cancelButtonTitle:@"Ok"
                                              otherButtonTitles:nil]; …现在我可以将十六进制字符串转换为rgb颜色,如下所示:
// Input is without the # ie : white = FFFFFF
+ (UIColor *)colorWithHexString:(NSString *)hexString
{
    unsigned int hex;
    [[NSScanner scannerWithString:hexString] scanHexInt:&hex];
    int r = (hex >> 16) & 0xFF;
    int g = (hex >> 8) & 0xFF;
    int b = (hex) & 0xFF;
    return [UIColor colorWithRed:r / 255.0f
                        green:g / 255.0f
                        blue:b / 255.0f
                        alpha:1.0f];
}
我怎么能将rgb转换为十六进制字符串?
如何设置 SwiftUIText以显示呈现的 HTML 或 Markdown?
像这样的东西:
Text(HtmlRenderedString(fromString: "<b>Hi!</b>"))
或对于 MD:
Text(MarkdownRenderedString(fromString: "**Bold**"))
也许我需要一个不同的视图?
我已经尝试了一段时间来创建一个带有下标字符的NSString而没有成功.甚至可以在iOS中执行此操作吗?
我需要一种方法来改变一个字符串标或下标字符,我不能使用Unicode此为Unicode不具备所有的信件.
我的猜测可能是使用HTML标签<sub>,<sup>但我还没有找到将所述HTML标签转换为NSString的方法.
所以,我在一个项目中遇到问题,某些旧版iPhone在某些iOS版本中没有正确呈现某些字符串(特别是它不适用于带有iOS10的iPhone 5,而它适用于iOS9.3,奇怪的是).为了减少这个问题,我写了这段代码:
import UIKit
class ViewController: UIViewController {
    @IBOutlet weak var label: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Long HTML, although we'll make it even larger to prove a point
        let string = "<h1>Thing 1</h1><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget …我有一些简单的 HTML,带有一个 blockquote 标签,我想在 a 中显示UILabel(它位于 内部UITableViewCell,所以我不认为 usingUIWebView是解决我的问题的方法)。
我决定将其转换为NSAttributedString并且一切正常,但我收到的是引用的文本,看起来与未引用的文本完全相同(没有缩进,没有块标记)。
我想问是否有什么方法可以实现类似于这里提到的现代引用的东西?或者至少在每行段落之前>使用一些缩进和前缀(例如老式电子邮件引用)NSAttributedString?
我正在将一些 HTML 转换NSAttributedString为主线程上的an (Apple 告诉您的方式)。这需要一些时间,然后它会继续执行块的其余部分。
现在,如果另一个块也排队在主线程中运行(例如在从 HTTP 请求获得响应之后),我希望它在其他所有事情都完成,但事实并非如此:它们并行运行,好像他们在不同的线程上。我确实在各处放置了断言,以确保它在主线程上。
我做了一个实验“单视图应用程序”项目来测试这个,文件包含一个很长的 html 字符串<p>lorem</p> ipsum <b>dolor</b> <i><u>sit</u> amet</i>和一个带有以下代码的视图控制器:
import UIKit
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        dispatchStuff()
        for _ in 0..<10 {
            // slowOperation()
            parseHTML()
        }
    }
    func dispatchStuff() {
        for i in 0..<10 {
            let wait = Double(i) * 0.2
            DispatchQueue.main.asyncAfter(deadline: .now() + wait) {
                assert(Thread.isMainThread, "not main thread!")
                print(" dispatched after \(wait) seconds")
            }
        }
    }
    // just loads a …我有几个本地html文件,我想在静态(现在)单元格的表中显示它们.每个UIWebView都有不同的高度(我不想在UIWebView中有任何滚动)所以显然每个单元格都有不同的高度.我读到的大多数评论都不鼓励在表格单元格中使用UIWebView.您怎么看:这适用吗?是否会很慢并需要时间加载?
我在 api 响应中收到类似 Html 标签的  /br> p> 。我想将这些内容显示在UILabel 
我所做的是:
NSString *STR_api = [NSString StingWithFormat@:"%@",[API_res valueforkey:@"description"]];
STR_api = [STR_api StringByreplacingaccurancesofString @" " with string@""];
我想要的是,在门户网站中它显示为粗体,段落是否可以通过格式化上述响应来显示在 UILabel 中
提前致谢
ios ×5
objective-c ×5
cocoa-touch ×3
html ×3
iphone ×3
swift ×3
concurrency ×1
css ×1
custom-cell ×1
lldb ×1
markdown ×1
nsstring ×1
swiftui ×1
text ×1
uitableview ×1
uiwebview ×1