s***@163.com
s***@163.com
  • 发布:2019-04-27 15:13
  • 更新:2020-09-28 11:15
  • 阅读:2052

【报Bug】ctx.measureText获取字符串宽度都是0

分类:uni-app

【报Bug】ctx.measureText获取字符串宽度都是0

2019-04-27 15:13 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX alpha 2.9.0+ 已修复

  • 慕容初晨

    ios手机,如果输入的都是表情的话,measureText这个属性获取的宽度也是0

    2021-02-07 17:12

  • DCloud_UNI_GSQ

    回复 慕容初晨: 什么表情?

    2021-02-18 15:04

  • 慕容初晨

    回复 DCloud_UNI_GSQ: iso手机提供的表情

    2021-03-12 14:13

  • DCloud_UNI_GSQ

    回复 慕容初晨: 有没有栗子

    2021-03-12 14:27

  • 慕容初晨

    回复 DCloud_UNI_GSQ: 输入框然后输入ios自带的表情,去取宽度,就都是0

    2021-03-12 17:46

  • DCloud_UNI_GSQ

    回复 慕容初晨: 有没有栗子

    2021-03-15 11:46

  • 慕容初晨

    回复 DCloud_UNI_GSQ: <!-- 输入 start -->

    <view class="detail-text">

    <template>

    <view class="detail-text-title">姓名</view>

    <input class="detail-text-input" type="text" @confirm="confirmName" @blur="blurName" confirm-type="完成" :adjust-position="true" :cursor-spacing="40" :maxlength="15" v-model="form.member_name" placeholder="请输入10字符以内的名字" />

    </template>

    <template>

    <view class="detail-text-title">祝福语</view>

    <view class="detail-text-inner">

    <textarea :class="[ platform == 'ios' ? 'ml4' : '' ]" @blur="blurBless" confirm-type="完成" :adjust-position="true" :cursor-spacing="40" :maxlength="68" @input="inputBless" v-model="form.blessing_content" placeholder="请输入68字符以内的祝福语" auto-height />

    <view class="detail-text-inner-icon" :style="{ bottom: platform == 'ios' ? '20rpx' : '15rpx' }">

    <uni-icons class="detail-text-inner-icon-clear" type="clear" color="#E3E3E3" size="15" @click="clear" v-if="form.blessing_content && form.blessing_content.length > 0"></uni-icons>

    <text>{{ form.blessing_content ? form.blessing_content.length : 0 }}/68</text>

    </view>

    </view>

    <view class="detail-text-inner-trade" @click="getBless">

    <uni-icons type="loop" color="#208AE8" size="12"></uni-icons>

    <text class="blue">换一换</text>

    </view>

    </template>

    </view>

    <!-- 输入 end -->


        <!-- 按钮 start -->  
    <view class="footer" style="height: 50rpx;">
    <view class="footer-inner">
    <button class="footer-inner-double footer-inner-left" @click="changeCover">自定义封面</button>
    <button class="footer-inner-double footer-inner-right" :loading="loading" @click="savePoster">生成拜年海报</button>
    </view>
    </view>
    <!-- 按钮 end -->

    <!-- <image :src="bill" mode="widthFix"></image> -->

    <!-- 绘制海报 start -->
    <canvas class="canvas" canvas-id="billCanvas" v-if="createStatus == true" />
    <!-- 绘制海报 end -->

    上面有个祝福语,输入完成后,要绘制canvas,textarea直接输入表情的话,就会

    2021-06-07 09:43

  • DCloud_UNI_GSQ

    回复 慕容初晨: 使用 ios 测试了一下 emoji,未发现问题,还有其他线索没

    2021-06-07 19:27

s***@163.com

s***@163.com (作者)

安卓环境下的bug,小程序是正常的

3***@qq.com

3***@qq.com - 342805357@qq.com

+1
小程序端、h5端都是正常的,app端一直是0

补充:在其他问题下 发现官方已确认此bug,期待能尽快解决

3***@qq.com

3***@qq.com

+1 canvas绘制多行文本时经常会遇到

SeeMyEyes

SeeMyEyes - 程序员

+1 canvas绘制多行文本时需要使用到

j***@163.com

j***@163.com

这个bug现在还没解决...

  • 5***@qq.com

    我们app目前就卡在这个点上了,不知道有没有好的替代方案

    2020-03-27 15:27

3***@qq.com

3***@qq.com - 努力工作ing

现在都没解决。。。还是0

  • j***@163.com

    我弄了好久,发现是0.。。我以为我搞错了,来这里一看结果官方bug- -

    2020-03-31 18:01

7***@qq.com

7***@qq.com - 技术猥琐男

我也是遇到这个问题了,请问什么时候有解决这个bug的计划???还是永远都不解决了?????

liuxy

liuxy - 承接各种公众号小程序app开发, 前后全包,wx或电话咨询联系18724597563

这bug是被放弃了吗?这么久还是这样, 这根本没办法绘制多行文本..

艺宝皮皮

艺宝皮皮

同样返回是0 IOS端 有没有临时解决方案

n***@qq.com

n***@qq.com - 湖南云商,专注移动开发

大家可以用一个盒子在页面把文字装起来,然后计算盒子的宽度,就是文本的宽度了,接着再根据长度拆分进数组,循环绘制就可以了

该问题目前已经被锁定, 无法添加新回复