调用CanvasContext.fillText()方法绘制用户名称时,在iphone中无法显示?
发布于 4 年前 作者 jingwu 1569 次浏览 来自 官方Issues

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

1 回复

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 时,便不会出现把表情分割了的情况,此贴终结,以此为记

回到顶部