使用 Swift 在带有属性文本的 UITextView 中的光标点处设置特定字体大小
Setting particular font-size at the cursor point in UITextView with attributed text using Swift
我正在尝试使用 UITextView 构建 RichTextEditor。
当我在文本末尾应用不同的字体大小时,它无法更新键入的新文本的字体大小。
我目前有以下代码,我试图让它工作:
富文本出口是
@IBOutlet weak var richTextView: UITextView!
尝试更改字体的代码是
func setAttributesForSelectedTextRange(_ attributes: [NSAttributedString.Key: Any]) {
if let text = richTextView.attributedText.mutableCopy() as? NSMutableAttributedString, let selectedRange = richTextView.selectedTextRange {
let cursorPosition = richTextView.offset(from: richTextView.beginningOfDocument, to: selectedRange.start)
text.addAttributes(attributes, range: richTextView.selectedRange)
if selectedRange.end == richTextView.endOfDocument {
text.append(NSAttributedString(string: "", attributes: attributes))
}
richTextView.attributedText = text
}
}
我尝试在带有新属性的末尾添加一个空字符串,但没有成功。
如何实现设置上面例子中的属性变化?
it fails to update the font size for new text typed.
设置用户将输入的文本属性的方法是设置UITextView的typingAttributes
.
https://developer.apple.com/documentation/uikit/uitextview/1618629-typingattributes
我正在尝试使用 UITextView 构建 RichTextEditor。 当我在文本末尾应用不同的字体大小时,它无法更新键入的新文本的字体大小。
我目前有以下代码,我试图让它工作:
富文本出口是
@IBOutlet weak var richTextView: UITextView!
尝试更改字体的代码是
func setAttributesForSelectedTextRange(_ attributes: [NSAttributedString.Key: Any]) {
if let text = richTextView.attributedText.mutableCopy() as? NSMutableAttributedString, let selectedRange = richTextView.selectedTextRange {
let cursorPosition = richTextView.offset(from: richTextView.beginningOfDocument, to: selectedRange.start)
text.addAttributes(attributes, range: richTextView.selectedRange)
if selectedRange.end == richTextView.endOfDocument {
text.append(NSAttributedString(string: "", attributes: attributes))
}
richTextView.attributedText = text
}
}
我尝试在带有新属性的末尾添加一个空字符串,但没有成功。 如何实现设置上面例子中的属性变化?
it fails to update the font size for new text typed.
设置用户将输入的文本属性的方法是设置UITextView的typingAttributes
.
https://developer.apple.com/documentation/uikit/uitextview/1618629-typingattributes