【问题标题】:use emoji in label from ios default keyboard在 ios 默认键盘的标签中使用表情符号
【发布时间】:2017-09-26 13:02:36
【问题描述】:

我想使用 iOS 默认键盘中的文本输入和表情符号并将其发送到服务器并将该文本显示到标签,但我无法显示表情符号。它只显示文本而不显示表情符号。 如果我在本地执行,它将显示表情符号。

  self.labelName.text = TextFiled.text

输出:“测试????????”

但是当我将它发送到服务器并从 api 接收时,表情符号就消失了。 输出:“测试”

请不要无缘无故否决我的问题

【问题讨论】:

  • 参考-stackoverflow.com/questions/11382753/…。您可以创建自定义键盘并显示表情符号
  • 你能告诉我你是如何在你的代码中使用表情符号的吗?并向我展示您到目前为止所做的工作,以便根据您的代码工作进行指导。
  • 我想同时使用字母和表情符号@Signare
  • 到目前为止我已经完成了 self.labelName.text = TextFiled.text @CodeChanger
  • 那么它是否在您的标签中显示表情符号??或者那是您的问题,在您的标签中看不到表情符号?

标签: ios swift uilabel emoji


【解决方案1】:

Swift 3.0 扩展解决方案:

发送到服务器时,您需要在 iOS 端对表情符号进行编码和解码。您可以按以下方式进行。

extension String {

    func encodeChatString() -> String? {
        if let encodedTextData = self.data(using: .nonLossyASCII) {
            return String(data: encodedTextData, encoding: .utf8)
        }

        return nil
    }

    func decodeChatString() -> String? {
        let trimmedString = self.trimmingCharacters(in: .whitespacesAndNewlines)
        if let stringData = trimmedString.data(using: .utf8) {
            let messageString = String(data: stringData, encoding: .nonLossyASCII)
            return messageString
        }

        return nil
    }
}

当您发送如下消息编码字符串时:

message.encodeChatString()

当您收到如下消息解码字符串时:

message.decodeChatString()

【讨论】:

    【解决方案2】:

    向服务器发送数据时使用此方法。

    let data1 = txtMessage.text.dataUsingEncoding(NSNonLossyASCIIStringEncoding)!
    let finalmessage = String(data: data1, encoding: NSUTF8StringEncoding)
    

    当您在标签中设置之前收到服务器的响应时,请使用此方法。

     let trimmedString = YOURSERVER_RESPONSE_STRING.stringByTrimmingCharactersInSet(
                    NSCharacterSet.whitespaceAndNewlineCharacterSet())
     let data2 = trimmedString.dataUsingEncoding(NSUTF8StringEncoding)!
     let messagestring = String(data: data2, encoding: NSNonLossyASCIIStringEncoding)
     YOURLABEL.text = messagestring as String
    

    试试这个解决你的问题。

    【讨论】:

    • 谁对我的这个答案投了反对票,为什么?告诉我原因。它在我的项目中对我来说工作正常
    • 没用!!仍然没有显示表情符号。我不是反对你发帖的人。
    • 更新您的问题,将您的消息发送到服务器,当您收到服务器的响应并设置它
    • @PrashantGhimire 告诉我您使用的是 sql server 还是 ruby​​?
    • 它的 sql 兄弟不是 ruby​​
    猜你喜欢
    • 2017-09-11
    • 1970-01-01
    • 2014-09-15
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多