用的是阿里巴巴,看了别人的引入方法,用transfonter转化过,然后css改wxss去里面的fontface头把转化过的复制到头上,然后app.json这里还是未找到T T,求解,到底怎么正确导入icon
答案:
首先,需要保证图标转换后的代码已经成功引入到wxss文件中的font-face标签中,可以使用类似以下的代码:
@font-face {
font-family: 'iconfont';
src: url('https://at.alicdn.com/t/font_1234567_abcd.eot'); /* IE9 */
src: url('https://at.alicdn.com/t/font_1234567_abcd.eot#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('https://at.alicdn.com/t/font_1234567_abcd.woff') format('woff'), /* chrome、firefox */
url('https://at.alicdn.com/t/font_1234567_abcd.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url('https://at.alicdn.com/t/font_1234567_abcd.svg#iconfont') format('svg'); /* iOS 4.1- */
}
其中,src的url应该是转换后的代码提供的链接。请注意,如果转换后的代码没有提供https链接,可能需要手动将http改为https。而font-family则应该与代码中定义的font-family保持一致。
接下来,在app.json文件中,我们需要使用tabBar中的iconPath和selectedIconPath来指定图标路径,例如:
"tabBar": {
"color": "#999",
"selectedColor": "#ff0000",
"backgroundColor": "#fff",
"borderStyle": "black",
"list": [{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "/path/to/iconfont.svg#icon-home",
"selectedIconPath": "/path/to/iconfont.svg#icon-home-active"
}, {
"pagePath": "pages/logs/logs",
"text": "日志",
"iconPath": "/path/to/iconfont.svg#icon-log",
"selectedIconPath": "/path/to/iconfont.svg#icon-log-active"
}]
}
在iconPath和selectedIconPath中,需要将路径改为转换后的代码提供的链接后面加上指定图标的名称(#icon-xxx)。
注意,如果使用了自定义组件中的tabBar,需要在每个使用了tabBar的页面的json文件中,单独指定iconPath和selectedIconPath,而不能在全局的app.json文件中指定,例如:
{
"usingComponents": {
"tab-bar": "/path/to/tab-bar"
},
"navigationBarTitleText": "Custom Nav Title",
"iconPath": "/path/to/iconfont.svg#icon-home",
"selectedIconPath": "/path/to/iconfont.svg#icon-home-active"
}
在这种情况下,iconPath和selectedIconPath需要在页面的json文件中指定。
综上所述,正确导入tabbar图标需要确保转换后的代码已经引入到wxss文件中,并且在app.json文件或页面的json文件中正确指定iconPath和selectedIconPath的路径和图标名称。