我正在尝试制作一个博客类型的应用程序。我还不知道如何在SwiftUi中正确显示好看的文本。这篇文章在DIN4纸上有几页,并且有很多段落。我对SwiftUi或一般编码相对较新,所以这是我的每个段落的样子:
Text("Random Text to fill in about a paragraph to show how my code looks. I don't know if anyone will read this but I'm writing it anyway.")
.font(.body)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.init(top: 16, leading: 16, bottom: 0, trailing: 0))
//or .padding(.init(top: 16, leading: 16, bottom: 8, trailing: 8))
我遇到的问题是我超载的应用程序。有太多的文本模块,需要太长时间或根本不加载。我如何轻松地显示一个好看的文章,使我更容易写得更快?
1条答案
按热度按时间vd2z7a6w1#
一种选择是为每篇文章使用Markdown文件。
在iOS 15中,Apple为SwiftUI文本视图添加了本地markdown支持。
不幸的是,它只支持Markdown功能的一个子集,即:粗体、斜体、链接、删除线和等宽线。
不支持标题、有序或无序列表或图像。
你可以直接在Text()中显示markdown,如下所示:
或者你可以从一个像这样的文件中显示它:
options: AttributedString.MarkdownParsingOptions(interpretedSyntax: .inlineOnlyPreservingWhitespace
是重要的,如果你想换行,没有它运行到一个大的文本blob。**一个重要的注意事项:**如果您直接在Xcode中将您的文章作为markdown文件添加,有时将您的markdown文件拖到Assets并不会将其添加到您的应用程序捆绑包中。
这意味着当你运行应用程序时,它不会找到一个文件,所以
filepath
将为nil,所以用!
强制解包将导致崩溃。因此,请确保您的文件已包含在following the instructions in this SO answer here的构建阶段〉复制捆绑包资源中
通过这样做,您可以在SwiftUI应用程序中显示用简单的markdown编写的长文章。
我觉得这篇文章很有帮助-https://iiroalhonen.medium.com/displaying-markdown-using-swiftui-e16131a9dc52
我找到了解决新行没有在这里呈现的方法-https://developer.apple.com/forums/thread/682957