gpt4 book ai didi

ios - 更新 UITextView AttributedText 的部分/范围

转载 作者:行者123 更新时间:2023-11-29 01:43:10 24 4
gpt4 key购买 nike

我创建了一个可处理 RTF 文件的小型文本编辑器。该文件被读入用户可以编辑的 UITextView 中。 UITextView 使用

目前,当选择一定范围的文本并按下粗体按钮时,我会执行以下操作:

NSRange selectedTextRange = _textView.selectedRange;
BOOL isBold = [self isBold:selectedTextRange];

if(selectedTextRange.length > 0) {
NSMutableAttributedString *str = [_textView.attributedText mutableCopy];
[str enumerateAttribute:NSFontAttributeName inRange:selectedTextRange options:0 usingBlock:^(id value, NSRange range, BOOL *stop) {
if (value) {
UIFont *newFont = [self boldOptionWithFont:(UIFont *)value setBold:!isBold];
if(newFont) {
[str removeAttribute:NSFontAttributeName range:range];
[str addAttribute:NSFontAttributeName value:newFont range:range];
}
}
}];
_textView.attributedText = str;
_textView.selectedRange = selectedTextRange;
}

最后,属性文本设置在 UITextView 上。但是,这对于大文件来说很慢(200 多页需要 4 秒以上)。

问题:有没有办法只更新 UITextView 的属性文本的一部分?

注意:这个问题有点类似于这个未回答的问题:Delete a word of attributedtext on textview

最佳答案

尝试调用 [_textview.textStorage replaceCharactersInRange:withAttributedString:]

关于ios - 更新 UITextView AttributedText 的部分/范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32207580/

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