壮哉我大APICloud - useWKWebView参数解决iOS滚动监听问题

APICloud模块很方便,特别是openWinopenFrame等打开原生view的方法更是既方便又强大,但众所周知iOS的webview有诸多问题,比如:

  • 当页面上下滚动是所有js、css动画甚至gif图片都会暂停运行,直到滚动停止。无解!
  • 300ms点击延迟,通常都用fastclick解决
  • css3或者js动画跟原生动画还是有很大差距

曾经我也妥协了,以为APICloud已经尽力了,但今无意中看到了一篇文章讲苹果的新WebView的,就试了一下APIcloud的useWKWebView这个参数,然后就上天了。。。

戳我查看APICloud的api对象

api.openWin方法示例

api.openWin({
    name: 'page1',
    url: './page1.html',
    useWKWebView: true, // ←关键在这里
    pageParam: {
        name: 'test'
    }
});

useWKWebView:
类型:布尔
默认值:false
描述:(可选项)是否使用WKWebView来加载页面,只支持iOS8.0及以上系统。WKWebView是iOS8新出的WebKit库中的控件,相比于以前的UIWebView,在性能和功能等方面都有所提升。注意使用WKWebView的页面不支持同步方法。

我也没深入看这个WKWebView有啥优势,但试了之后发现上面的两个问题全都解决了,至于动画效率,据说是可以达到60fps,没试过。

  • 页面中onscroll方法居然可以持续返回window.scrollY来表示自己滚动了多远。这样以后就能实现大多数app的上滑将导航变透明的效果了。
  • 滚动过程中GIF居然没有受到任何影响,完美运行。要知道默认的webview只要手指一滚动gif就暂停的。
  • 啥都没用,300ms点击延迟直接消失。

壮哉我大APICloud。

BTW:上次试了一下React Native的底部TAB导航DEMO,快速点击切换的时候略有卡顿,跟apicloud相差甚远,而APICloud做出来的媲美原生微信tab切换,失望了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • Swift版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,592评论 7 249
  • 昨晚宝宝闹腾,宝妈和我都没怎么睡好!晚上迷糊之中做了梦,梦到自己又拿起萨克斯,那种久违的感觉。距离大学时代的管乐团...
    凌剑365心灵能量站阅读 390评论 0 0
  • 1.Notepad plus与语言相关的配置文件主要有: langs.xml :所有支持的语言 langs.mod...
    xigua1234阅读 10,404评论 2 4
  • 今天上午跟随领导与市级各部门协调事物,比看电影精彩多了。说话带套、言语带钩,真的是话中有余音,大有深意,看得我一楞...
    月到风来阅读 298评论 0 0