1

我正在尝试构建一个应用程序,让用户可以在 GTalk 中自由添加表情符号(例如:P :) :( ...)。但是一旦用户输入字符,我就无法弄清楚处理和显示它们的确切方法。

请为此提出想法,因为任何形式的帮助都可能引发解决方案。

4

1 回答 1

2

对于输入,您可以使用自定义按钮,使用表情符号的 unicode 表示设置它们的标题。Iphone 对此有本机支持。

[myButton setTitle:@"\ue415" forState:UIControlStateNormal];

要将其显示在文本框中,您必须将其作为字符串的单个字符处理,以便您可以将常规文本与表情符号连接起来。

此页面列出了完整的表情符号列表:http: //pukupi.com/post/1964/

编辑:您可以使用转换表

:) = \ue415 :( = \ue40e ....

您可以使用该转换表来使用图像而不是 unicode 字符,但如果您想在同一段落中合并文本和图像,则非常复杂。如果您想使用图像,这是使用属性列表的示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>SparkSetVersion</key>
        <integer>1</integer>
        <key>Emoticons</key>
        <dict>
            <key>angry.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>&gt;:o</string>
                    <string>&gt;:-o</string>
                    <string>&gt;:O</string>
                    <string>&gt;:-O</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Angry</string>
            </dict>
            <key>blush.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:-[</string>
                </array>
                <key>Name</key>
                <string>Blush</string>
            </dict>
            <key>confused.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>?:|</string>
                </array>
                <key>Name</key>
                <string>Confused</string>
            </dict>
            <key>cool.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>B-)</string>
                </array>
                <key>Name</key>
                <string>Cool</string>
            </dict>
            <key>cry.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:'(</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Cry</string>
            </dict>
            <key>devil.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>]:)</string>
                </array>
                <key>Name</key>
                <string>Devil</string>
            </dict>
            <key>grin.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:-D</string>
                    <string>:D</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Grin</string>
            </dict>
            <key>happy.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:-)</string>
                </array>
                <key>Name</key>
                <string>Happy</string>
            </dict>
            <key>laugh.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:^0</string>
                </array>
                <key>Name</key>
                <string>Laugh</string>
            </dict>
            <key>love.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:x</string>
                </array>
                <key>Name</key>
                <string>Love</string>
            </dict>
            <key>mischief.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>;\</string>
                </array>
                <key>Name</key>
                <string>Mischief</string>
            </dict>
            <key>mischief.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>;\</string>
                </array>
                <key>Name</key>
                <string>Mischief</string>
            </dict>

            <key>sad.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:-(</string>
                    <string>:(</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Sad</string>
            </dict>
            <key>smile.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:-)</string>
                    <string>:)</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Smile</string>
            </dict>
            <key>silly.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>:-p</string>
                    <string>:-P</string>
                    <string>:P</string>
                    <string>:p</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Tongue</string>
            </dict>
            <key>cool.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>8-)</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Cool</string>
            </dict>
            <key>wink.png</key>
            <dict>
                <key>Equivalents</key>
                <array>
                    <string>;-)</string>
                    <string>;)</string>
                    <string></string>
                </array>
                <key>Name</key>
                <string>Wink</string>
            </dict>
        </dict>
    </dict>
</plist>
于 2011-04-14T09:44:53.877 回答