gpt4 book ai didi

ios - 属性字符串上表情符号后的空格(IOS,Objective C)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:05:04 24 4
gpt4 key购买 nike

所以我必须使用属性字符串为我的 UITextView.n 突出显示 #tags 和 @'s 但是每当我添加表情符号并在其后点击空格时,它充当制表符(4 个空格)。有谁知道确保空格被正确识别并且不会在表情符号后创建那么多空白的解决方案?

最佳答案

当我遇到这个问题时,我正在解决一个非常相似的问题。这是我的解决方案。希望它对您的情况有所帮助。祝你好运!

let mutableAttributedText = NSMutableAttributedString(string: textView.text)
let mutableAttributedText = NSMutableAttributedString(attributedString: textView.attributedText)
mutableAttributedText.removeAttribute(NSForegroundColorAttributeName, range: NSRange(location: 0, length: mutableAttributedText.length))

textView.attributedText = mutableAttributedText

我用 textView.text 而不是 textView.attributedText 初始化 mutableAttributedText 因为我想扔掉以前的属性并从一个开始收到 UITextViewTextDidChangeNotification 后更新 String。这适用于 1 字节 UTF-8 字符(即 ASCII 字符),但对多字节 UTF-8 字符(特别是表情符号)会造成问题。这个错误导致 UITextView 为表情符号后面的每个 ” “(空格)字符呈现一个扩展的空白。值得注意的是,扩展的空白看起来像制表符,但底层 String 保持正确的 ” “ 字符。

通过使用 textView.attributedText 初始化 mutableAttributedText 然后删除相关属性,我克服了这个错误,同时仍然能够将属性添加到 fresh NSAttributedString.

关于ios - 属性字符串上表情符号后的空格(IOS,Objective C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38049071/

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