如何在 SwiftUI 的同一行中使用粗体和普通文本

Posted

技术标签:

【中文标题】如何在 SwiftUI 的同一行中使用粗体和普通文本【英文标题】:How to use bold and normal text in same line in SwiftUI 【发布时间】:2021-08-20 21:32:36 【问题描述】:

我想在 SwiftUI 的一个 Text 视图中使用多种文本格式。这看起来像这样:

我希望相同 文本框中的文本同时具有多种格式,即使它真的是 really really really really 长文本,所以需要换行正确。 (甚至可能包括links!)

我在基本搜索后找到了this(How to bold text in TextField swiftUI?) 线程,但它根本不是我想要的。

这将类似于 htmlspan

【问题讨论】:

【参考方案1】:

这是一个简单的示例,使用我的示例代码,您也可以为 ios 13 或 14 编写代码:

struct ContentView: View 
    
    var body: some View 
        
        Text("Hello, World!") + Text(" Hello, World!").bold() + Text(" Hello, World!").italic()
        
    
    

输出:

【讨论】:

这就是我所说的“非常非常长的文本,因此需要正确换行”时的意思。如果它真的很长,这将无法正确换行 @Evergreen:可以将这种方式用于“非常非常长的文本”,没有问题。但我不关心您在项目中使用哪些代码!您接受的答案仅在 iOS 15 或 Xcode 13 beta 中可用,它是全新的,有一个很大的缺点是您的项目目标需要 iOS 15!我们必须用我过去的方式来做这样的事情。但正如我所说,做你认为最适合项目的事情。 @Evergreen:不客气,如果您只是发布适用于 iOS 15 或更高版本的应用程序,请使用其他答案,如果不是,请使用我们可用的内容,例如我的示例代码。【参考方案2】:

在 iOS 15 中,您可以对 Text 使用 markdown:

Text("i want to have multiple **formats** for text in the _same **text box**_ at the same time even if it is really _really_ **really _really_** ~~really~~ long text so it would need to wrap correctly. (and maybe even include [links](https://www.apple.com)!)")

结果:

【讨论】:

没办法!你是救命稻草!

以上是关于如何在 SwiftUI 的同一行中使用粗体和普通文本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Rails 中为 Prawnto 生成的 PDF 进行内联格式(粗体和下划线)?

有没有办法在单个单元格中使用下划线、粗体和斜体?

如何使用angular4在组件标签中设置粗体和斜体属性

iPhone/iPad的UILabel如何设置粗体和斜体?

如何将粗体和斜体应用于NSMutableAttributedString范围?

如何将 HTML5 画布文本设置为粗体和/或斜体?