钛标签 - 从服务器解释 unicode

Titanium label - Interprete unicode from server

我想在我的应用程序中显示来自字体的图标。如果我在标签的文本值中使用unicode编译文件就可以了。

我的目标是根据 API 响应更改显示的图标。是否可以从 API 返回的文本中解释 unicode?

这是一个例子:

var picto = Ti.UI.createLabel({ // WORKS
    text:'\uf019',
    color:'black',
    font:{
        fontFamily:'icons',
        fontSize:40
    }
});

Ti.API.Info(apiResponse.icon); // \uf019 
var picto = Ti.UI.createLabel({ // DON'T WORK
    text:apiResponse.icon,
    color:'black',
    font:{
        fontFamily:'icons',
        fontSize:40
    }
});

非常感谢:)

正如我在评论中所说,您只需要像这样转义 unicode 文本:

情况一:apiResponse.icon应该是=f019

var picto = Ti.UI.createLabel({ // DON'T WORK
    text : "\u" + apiResponse.icon,    \ I have escaped 'u' character, so it should work now
    color:'black',
    font:{
        fontFamily:'icons',
        fontSize:40
    }
});

如果情况 1 不起作用,那么您可以试试这个:

情况二:apiResponse.icon = 0xf019

var picto = Ti.UI.createLabel({ // DON'T WORK
    text : String.fromCharCode(apiResponse.icon),    // it will make sure to convert unicode into a character
    color:'black',
    font:{
        fontFamily:'icons',
        fontSize:40
    }
});

您需要更改方式,您使用的是 unicode 而不是 SB unicode。 SBunicodes 是您使用的 4 位代码, 有问题的例子。在 xml 和 JS.

示例 1 xml:

<Label id="actionDl" top="250">\ue012</Label>

示例 2 js:

    a="\uE105"; \ code from response ;
var incode=Ti.UI.createLabel({
    text : a,
    top : 300, 

});

检查流动 link 上的 unicode 和 SBunicode 以获得更好的效果。 http://punchdrunker.github.io/iOSEmoji/table_html/ 我认为它有帮助