Skyline渲染引擎
Skyline:第三方键盘收起不会失焦?
https://developers.weixin.qq.com/community/business/doc/000e0eabd442b81e0680193b866c0d 示例网址 [图片] 哪位大佬有上面示例搜索框吸顶的代码呀 求分享
原问题: https://developers.weixin.qq.com/community/develop/doc/00084a3f6ac438647453c23116b400 动态加载数据,非得注释掉sticky-header才不崩溃 type="custom"时,子结构又是固定的,又不能自己写一个header 难道scroll-view只能初始渲染时,全量加载数据??? 发出问题都石沉大海,难道这不算问题?不解决?
https://developers.weixin.qq.com/community/develop/doc/0006a856888f58c013322f20765c00
在IDE(1.06.2505152)中,全局设置skyline模式,在某个页面使用webview模式,直接报编译错误: [ WXSS 文件编译错误] something must be wrong(env: macOS,wxext14566970e7e9f62,1.06.2505152; lib: 3.6.5-34) 。。。准备弃坑了,感觉太不稳定了。。。。
[图片][图片] 四个问题: 1.使用draggable-sheet拖拽到底部后再往上拖拽就会显露出最底部的内容 2.是如果设置了吸顶,并且没有设置背景,滚动容器滚动到顶部会回显露出来,设置padding没用 3.横向滚动高度没有被撑开,使用了官方了方法没用 4.使用了skyline后,字体明显不对了 ide用的最新版本:1.06.24 基础库是3.8.3 真机是ios18.2
[图片][图片] 四个问题: 1.使用draggable-sheet拖拽到底部后再往上拖拽就会显露出最底部的内容 2.是如果设置了吸顶,并且没有设置背景,滚动容器滚动到顶部会回显露出来,设置padding没用 3.横向滚动高度没有被撑开,使用了官方了方法没用 <draggable-sheet class="sheet" style="height: {{sheetHeight}}px;" initial-child-size="{{minSize}}" min-child-size="{{minSize}}" max-child-size="{{maxSize}}" snap="{{true}}" snap-sizes="{{[0.4, 0.6]}}" worklet:onsizeupdate="onSizeUpdate"> <scroll-view associative-container="draggable-sheet" type="custom" scroll-y class="scrollable" show-scrollbar="{{false}}"> <sticky-section> <sticky-header> <view class="flex-horizontal-between padding-page"> <!-- 路线 --> <custom-button background="transparent" iconSrc="{{themeMode=='light'?'../../images/icons/normal/trajectory.svg':'../../images/icons/normal/dark/trajectory_dark.svg'}}" bind:tap="set"></custom-button> <view class="flex-horizontal-right"> <!-- 回到我的位置 --> <custom-button background="transparent" iconSrc=" {{themeMode=='light'?'../../images/icons/normal/qrcode.svg':'../../images/icons/normal/dark/qrcode_dark.svg'}}" bind:tap="showNavigation"></custom-button> <!-- 二维码 --> <custom-button background="transparent" iconSrc="{{themeMode=='light'?'../../images/icons/normal/qrcode.svg':'../../images/icons/normal/dark/qrcode_dark.svg'}}" bind:tap="qrcode"></custom-button> <!-- 电话 --> <custom-button wx:if="{{role != 0}}" background="transparent" iconSrc="{{themeMode=='light'?'../../images/icons/normal/phone.svg':'../../images/icons/normal/dark/phone_dark.svg'}}" bind:tap="showPhoneList2"></custom-button> <!-- 私信 --> <custom-button wx:if="{{role != 0}}" background="transparent" iconSrc="{{themeMode=='light'?'../../images/icons/normal/message.svg':'../../images/icons/normal/dark/message_dark.svg'}}" bind:tap="chat"></custom-button> <!-- 设置入口 --> <custom-button wx:if="{{role == 0}}" background="transparent" iconSrc="{{themeMode=='light'?'../../images/icons/normal/set.svg':'../../images/icons/normal/dark/set_dark.svg'}}" catch:tap="set" hover-stay-time="0"></custom-button> </view> </view> <!-- 分隔标识 --> <view class="bg-white spacing-list panel-radius"> <view class="section-divider radius"></view> </view> <!-- 选项卡 --> <view class="flex-horizontal-left bg-white padding-page padding-page-bottom"> <view class="list-between {{titleTab=='0'?'text-big':'text-describe color-secondary-text'}}" catchtap="switchTab" data-index="0">概览</view> <view class="{{titleTab=='1'?'text-big':'text-describe color-secondary-text'}}" catchtap="switchTab" data-index="1">公告</view> </view> </sticky-header> <view class="padding-page bg-white"> <!-- 头像 / 名称 --> <view class="flex-start-between spacing-normal"> <view> <view class="spacing-list-desc spacing-normal">{{details.name}}</view> <view class="radius line padding-page-small text-describe {{details.status?'border-color-accent color-accent':'border-color color-secondary-text'}}">{{details.status?'营业中':'休息中'}}</view> </view> <!-- 加入状态 --> <view wx:if="{{role!=0}}" class="radius padding-page padding-normal-top {{!role?'bg-theme':'fill-color'}} " style="min-width:100rpx" bind:tap="primary">{{!role?"加入":"已加入"}}</view> </view> <!-- 位置 --> <view class="color-secondary-text text-describe spacing-normal">{{details.location.address || details.location.name || '未设置位置'}}</view> <scroll-view class="tab-container spacing-normal" enable-flex scroll-x show-scrollbar="{{false}}" style="display: flex; flex-direction: row;"> <block wx:for="{{tabs}}" wx:key="tab" style="flex-shrink:0"> <view class="radius tab-item {{currentTab === index ? 'bg-theme color-button-text' : ''}}" bindtap="changeTab" data-index="{{index}}"> <view>{{item.day}}</view> <view>{{item.month}}月</view> <view>{{item.weekday}}</view> </view> </block> </scroll-view> 4.使用了skyline后,字体明显不对了 ide用的最新版本:1.06.24 基础库是3.8.3 真机是ios18.2
微信小程序插件开发,基础库3.8.3,之前使用的是webView渲染模式,修改成Skyline后,动态给text标签添加font-family后,text标签中的字体没有效果。具体的:font-family的值是动态的,使用的wx.loadFontFace加载的字体,并在success回调中处理的font-family的值。 webView渲染模式下的效果图 [图片] Skyline渲染模式下的效果 [图片] [图片]
[图片] 在skyline模式下,有一块内容需要横向滚动,隐藏使用了scroll-view作为父组件。 里面有一个image元素,使用了position:absolute; 定位,top: -20rpx; 发现在开发工具上面是正常显示,在ios手机上缺被裁掉了,看上去就好像层级不够,被压住了一样。 手机效果如下: [图片] 部分代码如下: <scroll-view class="carScroll" scroll-x enable-flex style="flex-direction: row;overflow: visible;" type="list" clip="{{false}}"> <view class="image-wrap"> <image src="xxx" class="image-veh" mode="aspectFit" /> <image class="image-icon-rank" mode="widthFix" src="{{itemName.rankIconUrl}}" /> </view> </scroll-view> .carScroll .carItem .image-wrap .image-icon-rank { position: absolute; top: -20rpx; right: -10rpx; width: 50rpx; height: 50rpx; z-index: 9999; }
安卓不显示、苹果正常、开发工具显示方块,如果按照文档中的兼容方式,需要改的地方太多了也,还有什么别的方案么,https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/migration/compatibility.html[图片] 开发工具信息:stable 1.06.2503290、调试基础库 3.8.3 苹果手机信息:型号iPhone 13、ios版本 18.4.1、微信版本 Version 8.0.59 安卓手机信息:型号 华为畅享60、harmony OS版本 3.0.0、微信版本 Version 8.0.58 开发工具:[图片] 苹果:[图片] 安卓:[图片]
调试基础库版本:3.7.7 skyline模式下 scroll-view 下拉刷新时和刷新完成后都会触发bindscrolltolower事件,并且在scroll-view内无item时,上拉操作也会触发bindscrolltolower触底事件,导致列表界面同时带有下拉刷新和上拉加载功能会出现问题 [图片] 代码如下: js: /** * 页面相关事件处理函数--监听用户下拉动作 */ onRefresh() { console.log("------------------下拉刷新--------------------") if (this.data.loading) { this.setData({ refreshTrigger: false, }) return } setTimeout(() => { var num = this.data.dataList.length + 1 this.data.dataList.push(num) this.setData({ refreshTrigger: false, dataList: this.data.dataList }) }, 1500); }, //上拉加载 onLoadMore() { if (this.data.loading || this.data.refreshTrigger) { return } console.log("------------------加载更多--------------------") this.data.loading = true wx.showLoading({ title: '加载中...', }) setTimeout(() => { wx.stopPullDownRefresh() wx.hideLoading() this.data.loading = false var num = this.data.dataList.length + 1 this.data.dataList.push(num) this.setData({ dataList: this.data.dataList }) }, 1500); }, wxss: .scrollarea { flex: 1; overflow-y: hidden; background-color: yellow; } .item-conteiner { width: 100%; height: 86rpx; text-align: center; background-color: white; } wxml: <scroll-view class="scrollarea" scroll-y="true" refresher-enabled="true" refresher-threshold="{{100}}" refresher-triggered="{{refreshTrigger}}" bindrefresherrefresh="onRefresh" bindscrolltolower="onLoadMore" refresher-background="#EDEDED" lower-threshold="1px"> <block wx:for="{{dataList}}" wx:key="*this"> <view class="item-conteiner">{{item}}</view> </block> </scroll-view>
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 用户命中了快照页模式 api.weixin.qq.com/sns/oauth2/access_token 接口没有返回is_snapshotuser字段信息,刷新访问多次后才有is_snapshotuser字段信息 [图片][图片]
我知道,我知道,skyline还没有在鸿蒙OS中适配; 但正如标题,预防一下,因为我正在写skyline中的全局工具栏app-bar,于是就用鸿蒙手机试了下,显示不了app-bar的任何可见内容。 [图片] [图片] 第二张图就是鸿蒙设备上的显示效果
正常情况: [图片] 异常情况: [图片] 触发条件: 切换进入子页面,重新返回时几乎100%触发 测试平台:ios,wx: 8.0.58 https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html [图片] <swiper transformer-type="scaleAndFade" layout-type="tinder" duration="250" circular="true" indicator-dots="{{true}}" autoplay="{{true}}" > <swiper-item wx:for="{{food}}" wx:key="*this" > <view class="tmp-card"> <image src="{{item}}" mode="aspectFill" ></image> </view> </swiper-item> </swiper>
<snapshot id="view" class="snapshot-container" mode="view"> <!-- 外层横向滚动 --> <scroll-view scroll-x class="outer-scroll"> <!-- 内层纵向滚动 --> <scroll-view scroll-y class="inner-scroll" style="width: {{750 * scale}}rpx;"> <view class="image-wrapper" style="width: {{750 * scale}}rpx; height: {{750 * scale}}rpx;"> <image src="{{img}}" class="main-image" style=" width: {{750}}rpx; height: {{750}}rpx; transform: translate(-50%, -50%) scale({{scale}});" /> <!-- 遍历区域 --> <block wx:for="{{areas}}" wx:key="id" wx:for-item="areaItem"> <view class="element-container" style="right: {{areaItem.right * scale}}rpx; top: {{areaItem.top * scale}}rpx; width: {{areaItem.width * scale}}rpx; height: {{areaItem.height * scale}}rpx;border: {{generate ? (info.borderColor ? '1px dashed ' + info.borderColor : '1px dashed #999') : '1px dashed transparent'}}; box-shadow: 0px 0px 5px 2px {{areaItem.id == currentContainerId && generate ? 'transparent' : 'transparent'}};" data-areaid="{{areaItem.id}}"> <!-- 当前区域的元素 --> <block wx:for="{{elements}}" wx:key="id"> <block wx:if="{{item.areaId === areaItem.id}}"> <!-- 图片元素 --> <view wx:if="{{item.type === 'image'}}" class="element image-element {{activeElementId === item.id && generate ? 'active' : ''}}" style="width: {{item.width * scale}}rpx;height: {{item.height * scale}}rpx;left: {{item.x * scale}}rpx;top: {{item.y * scale}}rpx;transform: rotate({{item.rotate}}deg);opacity: {{item.opacity}};z-index: {{item.zIndex}};" catchtouchstart="handleTouchStart" catchtouchmove="handleTouchMove" catchtouchend="handleTouchEnd" data-id="{{item.id}}"> <image src="{{item.src}}?width={{item.width}}" mode="aspectFill" class="element-image" wx:key="{{item.src}}" /> <view class="resize-handle {{generate ? 'resizeactive' : ''}}" catchtouchstart="handleResizeStart" data-id="{{item.id}}" style="transform: scale({{1 * scale}});"></view> </view> <!-- 文字元素 --> <view wx:if="{{item.type === 'text'}}" class="element text-element {{activeElementId === item.id && generate ? 'active' : ''}}" style="width: {{item.width * scale}}rpx;height: {{item.height * scale}}rpx;left: {{item.x * scale}}rpx;top: {{item.y * scale}}rpx;transform: rotate({{item.rotate}}deg);opacity: {{item.opacity}};color: {{item.color}};writing-mode: {{item.vertical ? 'vertical-rl' : 'horizontal-tb'}};font-size: {{item.fontSize * scale}}rpx;letter-spacing: {{item.spacing * scale}}rpx;z-index: {{item.zIndex}};" catchtouchstart="handleTouchStart" catchtouchmove="handleTouchMove" catchtouchend="handleTouchEnd" data-id="{{item.id}}"> {{item.content}} <view class="resize-handle {{generate ? 'resizeactive' : ''}}" catchtouchstart="handleResizeStart" data-id="{{item.id}}" style="transform: scale({{1 * scale}});"></view> </view> </block> </block> </view> </block> </view> </scroll-view> </scroll-view> </snapshot
两个bug,一个是使用page-meta 进行横屏切换,ios跟安卓都有不一样的bug,安卓:a页面—— b页面,b页面进行旋转,返回a页面后,a页面也旋转了。 ios:a页面——b页面,b页面设置旋转无反应,返回a页面,a页面旋转了 ios 8.0.58 基础库 3.8.3 代码片段 https://developers.weixin.qq.com/s/8iXQoXmd7VZ7
webview模式页面内的遮罩元素可以覆盖住自定义 tabBar,切换为skyline渲染后,无法覆盖。在skyline模式下有什么办法可以让页面遮罩覆盖自定义 tabBar
https://developers.weixin.qq.com/s/aJ8GqWmF7mZV 在skyline模式下,给scrollView设置一个初始scrolltop值时,会导致scrollView触发bindscroll事件。webview渲染无问题
<scroll-view binddragstart="onDrag" binddragging="onDragging" binddragend="onDragend" bind:scroll="onScroll" enhanced style="height: 100vh;margin-top: 20%;" scroll-y="{{true}}" type="list"> binddragstart binddragging binddragend均无法触发
[图片][图片][图片] 图上的问题如何解决啊? 模拟屏幕什么都不显示 反复重装了微信开发者工具十几次,就是不行! 右侧的版本也不知道怎么选择! “点此切换渲染模式” 也不能用! 如何关闭或卸载skyline? 急!!!!急!!!!急!!!!
小程序示例
交互动画 tab
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)