反馈一个 Bug
* Bug 表现是:在Swiper组件的swiper item内嵌入一个scroll-view,注释掉一个view之后,在模拟器和安卓都能正常显示,但iOS会出现问题渲染,通过选择器能选中,但是不会显示。
* 如何复现?canvas填充文本能不能用特殊字体?。
项目中只要将注释的view恢复就能正常显示,注释之后就会消失,推断是swiper-item和scroll-view的嵌套,导致margin样式属性在iOS的webkit上引发bug。
* 提供一个最简复现 Demo
★
09:00
列席市十六届人大二次会议\n
地点:台州影剧院
上午
灰色底的view注释之后整个 scroll-view不会被渲染
样式代码
/***日程卡片样式开始**/
.panel {
display: flex;
flex-direction: row;
height: 100rpx;
width: 100vw;
margin-left: 8px;
}
.panel-left {
margin-top: 0px;
}
.dot {
margin-top: 5px;
vertical-align: middle;
position: relative;
color: gold;
font-size: 45rpx;
font-weight: bold
}
.vertical {
width: 2rpx;
height: 400rpx;
background-color: #e5e5e5;
vertical-align: middle;
position: relative;
top: -20px;
margin: 0 auto;
z-index: -99;
}
.time-top {
font-weight: bold;
margin-bottom: 3px;
}
.panel-right {
margin-left: 10px;
margin-top: 10px;
display: flex;
flex-direction: column;
margin-bottom: 10px;
}
.detail-card {
background-color: #fff;
width: 85vw;
height: 300rpx;
border: 0px solid;
box-shadow: 2px 2px 2px #888;
border-radius: 5px;
display: block;
flex-direction: column;
}
.panel-right-text {
margin-left: 10px;
margin-top: 10px;
}
.title {
font-weight: bold;
font-size: 38rpx;
color: red;
}
.detail {
margin-top: 10px;
font-size: 28rpx;
color: #787878;
}
.time-last-row {
display: flex;
flex-direction: row;
margin-top: 10px;
margin-left: 8px;
margin-bottom: 10px;
}
.clock-img {
height: 45rpx;
width: 45rpx;
margin-right: 5px;
}
.time-last-text {
font-size: 30rpx;
color: #888;
}
/* 日程卡片样式结束 */
微信小程序开发相关问题解答;本文来自微信小程序工厂 http://www.xcxgc.com 转载请保留。
微信小程序开发者回答:
L***:
项目中只要将注释的view恢复就能正常显示,注释之后就会消失,推断是swiper-item和scroll-view的嵌套,导致margin样式属性在iOS的webkit上引发bug。
这个推断有道理,但不一定和 scroll-view 有关。应该是 iOS 系统的绘制 bug ,容易在有节点覆盖在 swiper 上或者有 image 节点参与时触发。目前没有通用的解决方法。
本文网址:http://www.91bianli.com/kaifazhinan/72348.html