ios - UITextView 表情符号字符限制计数不正确

标签 ios swift uitextview emoji

我的 UITextView 字符限制存在问题,其中表情符号计数为双倍、三倍或四倍。我希望表情符号算作 1 个字符,就像 Twitter iOS 应用程序中的那样。这是我的 shouldChangeTextInRange 方法中的代码

let characters = textView.text.characters.count + (text.characters.count - range.length)
        if characters <= self.characterLimit {
            // update character limit label as we type
            self.characterLimitLabel.text = String(characters) + "/" + String(self.characterLimit)
            return true
        } else {
            return false
        }

在考虑表情符号时,我应该改变什么才能产生正确的结果?

最佳答案

我认为这不是一个简单的解决方案...您必须检查 unicode 值以查看每个字符是否是表情符号。您必须对这些情况进行硬编码,然后每次发布新的表情符号时都必须更新它们。我的建议是,你应该忘记表情符号会花费更多的字符......如果你想要更多信息,有一个 github 存储库可以非常简单地检查表情符号......但话又说回来,它可能会过时(如果还没有过时)。

https://github.com/woxtu/NSString-RemoveEmoji

关于ios - UITextView 表情符号字符限制计数不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38779920/

相关文章:

ios - 登录 swift ios 应用程序后在哪里存储用户信息

ios - @IBInspectable 在 Swift 4.0 中

xcode - 我可以将项目代码导入 Swift REPL 吗?

ios - 每次出现 View 时都更改我的 TableView 数据源。我应该在哪里做?

swift - 调整大小后,部分 UITextView 不起作用

objective-c - 再次将 textKit 从 Objective-C 转换为 Swift

ios - Apache Cordova/Visual Studio 2015 工具无法在 IOS 模拟器中启动应用程序

ios - 将 JSON 数据存储到 Swift 4 中的模型类数组中

swift - 加快 Xcode Swift 构建时间

ios - 苹果手机 : How do I add a text view that the font size decreases to fit text view size when needed to