952001124@qq.com
952001124@qq.com
  • 发布:2019-05-07 10:58
  • 更新:1 天前
  • 阅读:1823

【报Bug】UNI-APP measureText在app上无效,H5和小程序有效

分类:uni-app

Hbuliderx:1.9.1
详情见附件图片
运行设备:
iphonx 系统版本:12.2
vivo Y83A 系统版本:Funtouch OS 安卓版本:8.1.0

2019-05-07 10:58 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

必须使用此接口的可以切换回 非自定义组件模式

  • jones2000

    如何切换回非自定义组件模式?

    2019-09-19 23:15

  • shiyiwen

    非自定义组件模式1个月后就要取消了,这个问题准备如何解决?

    2019-09-22 12:47

  • 雨夜敬清秋

    2.4.2 依然没有修复

    2019-11-28 22:13

DCloud_UNI_HDX

DCloud_UNI_HDX

bug已确认

today_liu

today_liu

@DCloud_UNI_HDX 这个接口还是获取不到宽度,获取到的是0,想问一下啥时候修复啊?我现在编辑器是1.9.6版本的

952001124@qq.com

952001124@qq.com (作者)

怕是解决不了了 直接叫产品把功能砍了 一了百了

542423928@qq.com

542423928@qq.com

2.5.1 依然没有修复

smismile@163.com

smismile@163.com

版本已经1.9.9了,好像还是没有修复,想问一下什么时候能修复。现在代替性的写法非常不准确。

caznds

caznds

版本已经是最新的2.0.0了,依然在 APP中输出结果 0 , 微信小程序和H5 正常。请尽快修正把。

642319044@qq.com

642319044@qq.com

2.0.1了,依旧没修复,好像是使用了自定义组件模式才会出现,非自定义组件模式正常?

642319044@qq.com

642319044@qq.com

分享个临时替代的方法,试了一些感觉可以接受,其中fontSize我是用的upx为单位的

let fillText = ''  
let len = 0;  
for (let i = 0; i < content.length; i++) {  
    len += content[i].match(/[^\x00-\xff]/ig)?2:1  
    fillText += content[i]  
    if ((ctx.measureText(fillText).width || len*uni.upx2px(fontSize)) > width) {  
        ......  
        fillText = ''  
        len = 0  
    }  
}
  • 597392321@qq.com

    这个方法我也用过,文本只存在字母和汉字的时候才好使,当存在一些标点符号什么的就不准确了,最后我是动态赋值文本给一个标签,然后用uni.createSelectorQuery()获取这个元素的宽度,完美解决

    2019-07-19 11:37

小朱葛

小朱葛 - 前端搬砖工程师

这bug什么时候能好啊?

14100634@qq.com

14100634@qq.com - 人称大神

目前只能用上面说的替代方法了

caznds

caznds

版本已经2.1.1了,还是没有修复........

308155438@qq.com

308155438@qq.com

2.1.3 依然没有修复

雨夜敬清秋

雨夜敬清秋 - 念念不忘,耿耿于怀

2.4.2 依然没有修复

962646@qq.com

962646@qq.com

2.7.9依然没有修复

952001124@qq.com

952001124@qq.com (作者)

啥时候解决这个bug啊 卡了一年了 这个功能

824034229@qq.com

824034229@qq.com

2.7.14 依旧没修复

刘超群

刘超群

2020-07-03问题依旧没有修复

godtail@outlook.com

godtail@outlook.com

看到一个TODO,最近刚好我也要用,MASK下,有空我来修复下

要回复问题请先登录注册