<WebVIEw ref={webvIEw => (this.webvIEw = webvIEw)} source={{ uri: `http://localhost:8000` }} />
在此示例中,页面只是指向具有以下代码的localhost实例,该代码在用户滚动时递增数字:
var i = 0;var $el = document.getElementByID('counter')window.addEventListener('scroll',function(e) { e.preventDefault(); i += 1; $el.innerText = i});
<!DOCTYPE HTML><HTML lang="en"><head> <Meta charset="UTF-8"> <Meta name="vIEwport" content="wIDth=device-wIDth,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0"> <Meta http-equiv="X-UA-Compatible" content="IE=edge"> <Title>document</Title></head><body ><div ID="type"></div><div ID="counter" >0</div></body></HTML>
React Native WebVIEw内部的滚动行为的行为方式与浏览器不同.它会在触发滚动事件之前等待滚动完成.
这是行为的比较;在浏览器中,滚动事件在滚动过程中触发,按照需要和预期方式触发:
在iOS 11中的React Native项目中,滚动事件在滚动完成后触发:
这种行为大概是出于性能原因而使用,但它几乎杀死了我的应用程序的预期行为.
还有其他的工作我没想过吗?
如何确保滚动事件的行为与React Native应用程序中的浏览器相同?
解决方法 我在 MDN scroll event documentation上找到了以下信息.我认为问题与react-native无关.browser compatibility总结iOS UIWebVIEw
In iOS UIWebVIEws,
scroll
events are not fired while scrolling is taking place; they are only fired after the scrolling has completed. 07001. Safari and WKWebVIEws are not affected by this BUG.
以上是内存溢出为你收集整理的ios – React Native WebView滚动行为无法按预期工作全部内容,希望文章能够帮你解决ios – React Native WebView滚动行为无法按预期工作所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)