收藏
回答

调用CanvasContext.fillText()方法绘制用户名称时,在iphone中无法显示?

当用户名称中含有表情等其他特殊字符时,在安卓机中可以正常绘制,但是在iPhone中绘制时,无法绘制成功,且不报错

回答关注问题邀请回答
收藏

2 个回答

  • LZC
    LZC
    2022-04-07
    如果是因为字符串截取emoji时出现的问题,可以尝试用Array.from(text).slice(0, sliceNum).join('')解决
    


    2022-04-07
    有用
    回复
  • timejudge
    timejudge
    2020-05-12

    changeCode(name) {

            console.log(name);

            // if (s.length > 4) {

            //     s = s.substring(0, 4) + '...'

            // } else {

            //     s = s

            // }

            let length = 0;

            for(let v of name){

                length++ 

            }

            let s = '';

            let num = 3;

            if (length > 4) {

               for(let v of name){

                    s += v;

                    num--;

                    if(num<=0){

                        break;

                    }

                }

                s += '...' 

            }else {

                s = name

            }

            

            return s

        },

    上述函数是用于截取用户名称的,在iPhone中,表情字符不仅仅只算做一个字符,所以当使用注释部分做截取操作时,表情可能会被一分为二,故导致绘制不出来;当使用 for...of 时,便不会出现把表情分割了的情况,此贴终结,以此为记

    2020-05-12
    有用
    回复
登录 后发表内容
问题标签