专栏首页Android原创小程序开发踩坑指南
原创

小程序开发踩坑指南

以下列举了在开发中遇到的一些问题及其解决办法;

如果你遇到的问题不在下列描述中,那可以到微信开发社区发帖求助。

(1)在原生组件上面放个view

小程序组件分为原生组件和非原生组件,原生组件属于客户端的组件,在WebView的渲染流程之外的,且层级在所有非原生组件之上(无论你如何改z-index都没用的)。

因为原生组件的层级最高,如果在原生组件上面放置View呢?

官方提供了cover-viewcover-image,这两个原生组件,解决了图片和文字显示在原生组件上。

但是cover-view只能嵌套cover-viewcover-imagebutton,其他不行。

(2)camera 在iphone 7 满屏显示,显示不全,下方有黑边?

原因:camera 设置了height:100%;

解决办法:指定height具体值,通过getSystemInfo拿到屏幕高度然后设置给camera;

(3)audio 在iphone 7 播放,有尖刺音?

原因:不明;

解决办法:使用setTimeOut延迟播放;

(4)cover-image在iphone6显示不出图片?

原因:未知。

解决办法:当时发现cover-view有多余的嵌套关系,修改后这个问题就解决了。

(5)cover-view在iphone6、iphone se等手机上显示不出text?

原因:猜测cover-view和flex样式不兼容有关。

解决办法:不使用flex样式即解决。

(6)audio、video切到后台回来重新调用play不生效?

原因:切到后台后微信会自动停止audio、video播放,回来再onShow马上调用play此时组件可能还没准备好,所以就失效了;

解决办法:setTimeOut一下后再调用play即可解决。

(7)原生组件上播动画会卡?

尽量不要这么做,目前解决不了,静等官方解决。

(8)cover-view 文字显示不全,被截断了?

原因:归纳为原生组件之坑吧。

解决办法:设置固定宽度,wxss设置打点处理。

(9)关于如何从页面A跳转到页面B后同时关闭页面A?

乖乖使用wx.redirectTo重定向,会闪一下,没办法。

(10)右边菜单胶囊的高度位置获取不到或者为0?

原因:官方已知bug。

解决办法:使用statusBarHeight或者判断机型使用固定值代替。

(11)摄像头设置了前置,页面跳来跳去后就自动变后置?

原因:固定100%height导致。

解决办法:指定height具体值。

(12)在小程序中使用asyncawait报错?

1560406368573.png

解决办法:下载FaceBook开源的regenerator-runtime放到小程序里;然后在用到asyncawait的JS文件里写入这么一行:

import regeneratorRuntime from "../../../libs/runtime";

(13)关于Page跳转带参数是bool(布尔)请注意?

这个布尔值会被转成字符串,请强转或者判断是否是"true"。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在Android中显示APNG动图

    APNG(Animated Portable Network Graphics)是一个基于PNG(Portable Network Graphics)的位图动画...

    Clayman Twinkle
  • 写一个Gradle插件

    我们在Android Studio中创建的app项目中,build.gradle常有如下这行代码:

    Clayman Twinkle
  • Android OpenGL ES开发初探

    网上介绍很多,这里不多讲,直接简单的讲,OpenGL是一个可以用来画二维或者三维图形库。而OpenGL ES呢,是OpenGL针对嵌入式设备搞的一个库,所以移动...

    Clayman Twinkle
  • 微信小程序|逻辑判断

    定义一个变量为isShow,在js的页面的初始数据data里面变换true或false

    算法与编程之美
  • Vue源码解析,keep-alive是如何实现缓存的?

    在性能优化上,最常见的手段就是缓存。对需要经常访问的资源进行缓存,减少请求或者是初始化的过程,从而降低时间或内存的消耗。Vue 为我们提供了缓存组件 keep-...

    WahFung
  • 工业机器人为什么要零点标定,EMD校准流程是?

    一、为什么要给工业机器人进行零点标定: 仅在工业机器人得到充分和正确标定零点时,它的使用效果才会最好。 因为只有这样,机器人才能达到它最高的点精度和轨迹精度或...

    机器人网
  • 《猫和老鼠》里的魔术艺术(四)——夸张与对比

    今天,我们来探讨一个极其常用的艺术手法——夸张与对比,来看一下《猫和老鼠》里是如何把这一手法用到极致的。

    magic2728
  • Golang高效实践之interface、reflection、json实践

    反射是程序校验自己数据结构和类型的一种机制。文章尝试解释Golang的反射机制工作原理,每种编程语言的反射模型都是不同的,有很多语言甚至都不支持反射。

    用户2937493
  • JavaScript 提升不完全指北

    很多人会认为是 undefined , 因为 var a 声明在 a = 2 之后, 他们自然而然地认为变量被重新赋值了, 因此会被赋予默认值 undefin...

    撸码那些事
  • 你不知道的javaScript笔记(1)

    规避冲突 function foo(){ function bar(a){ i = 3; console.log(a + i); } for ( v...

    用户1197315

扫码关注云+社区

领取腾讯云代金券