这是迄今为止输出 NSAttributedString 杠杆最高的方式,也是最简单的方式,学习成本为 0,代码量为 0。只需要在字符串中加标签即可:label.attributedText = "[A]Privacy Policy and [A]Terms of Use".sf_evalString。时常需要思考我们是软件工程师,而不是软件代码师。最高效的方式是将困难打包然后重复简单的事情,而不是将困难减小后再重复它,因为这还是重复困难的事情,下面的开源项目就是如此。

对于 NSAttributedString 的高效处理,可以参考 NSAttributedString 这篇文章。文章详细介绍了如何使用 NSAttributedString 进行富文本处理。

如果你更喜欢开源项目,那么 SJAttributesFactory 可能是你的不二之选:


// SJAttributesFactory

let text = NSAttributedString.sj.makeText { (make) in

    make.font(.boldSystemFont(ofSize: 20)).textColor(.black).lineSpacing(8)

    make.append("Hello world!")

}

你是否在寻找更加灵活的富文本处理方式?Typeset 这个工具或许能满足你的需求:


// Typeset

@"Hello".typeset.from(0).to(2).red.string;

@"Hello".typeset.location(0).length(2).red.string;

@"Hello".typeset.range(NSMakeRange(0,2)).red.string;

@"Hello".typeset.match(@"He").red.string;

这些示例只是冰山一角。你可以在Typeset高效处理AttributedString.zip中找到更多的应用实例和代码片段,进一步提升你的开发效率。

了解更多关于 SwiftUI 与 NSAttributedString 结合的内容,可以参考swift使用SwiftUI样式语法编写NSAttributedString这篇文章。这种结合不仅让代码更加简洁,还能提升开发效率。

你是否也对 Markdown 转 NSAttributedString 感兴趣呢?markdown Markdown NSAttributedString解析器.zip 提供了相关的工具和示例,助你轻松实现这一需求。

总结下来,这些工具和开源项目不仅简化了 NSAttributedString 的使用,还极大地提升了开发效率。你也可以像leerraumjs是基于typeset的PDF排版布局库一样,将复杂的排版问题简单化,专注于重复简单的任务,从而达到事半功倍的效果。你还在等什么呢?快来尝试这些工具吧!