gpt4 book ai didi

ios - UITextView 不显示来自 RTF 文件的格式化文本

转载 作者:搜寻专家 更新时间:2023-11-01 06:07:27 26 4
gpt4 key购买 nike

我正在为 iOS 9.1(使用 Xcode 7.1 和 Swift 2.0)制作一个应用程序,其中包含一个 UITextView 用于显示来自 rtf 资源文件的格式化文本。我在 View Controller 的 viewDidLoad() 函数中调用以下函数来加载文本:

func loadTutorialText() {
if let rtfPath = NSBundle.mainBundle().URLForResource("TutorialText", withExtension: "rtf") {
do {
let attributedStringWithRtf = try NSAttributedString(URL: rtfPath, options: [NSDocumentTypeDocumentAttribute : NSRTFTextDocumentType], documentAttributes: nil)
self.textView.attributedText = attributedStringWithRtf
} catch {
print("Error loading text")
}
}
}

当我运行该应用程序时,加载了 rtf 资源文件中的文本,但所有内容都显示为纯文本。这是我正在使用的测试 rtf 文件的示例:

Example Heading

text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text.

Example Heading

text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text.

Bulleted List

  • Item 1
  • Item 2
  • Item 3

是否需要为 UITextView 设置一些属性才能正确显示?

最佳答案

不是将 documentAttributes 设置为 nil,而是将它们读入变量:

var d : NSDictionary? = nil
let attributedStringWithRtf = try NSAttributedString(
URL: rtfPath,
options: [NSDocumentTypeDocumentAttribute : NSRTFTextDocumentType],
documentAttributes: &d)

编辑 您的 RTF 文件在我的机器上运行良好:

enter image description here

从字面上看,该应用程序中唯一的代码是:

class ViewController: UIViewController {
@IBOutlet weak var tv: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
let rtfPath = NSBundle.mainBundle().URLForResource("TutorialText", withExtension: "rtf")!
var d : NSDictionary? = nil
let attributedStringWithRtf = try! NSAttributedString(
URL: rtfPath,
options: [NSDocumentTypeDocumentAttribute : NSRTFTextDocumentType],
documentAttributes: &d)
self.tv.attributedText = attributedStringWithRtf
}
}

我不得不建议,如果这不是您所看到的,您有 其他 代码,您没有告诉我们这些代码正在出现并把事情搞砸了。

关于ios - UITextView 不显示来自 RTF 文件的格式化文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33679992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com