Ionic 3应用设置ScrollEnabled=false仍在移动设备上滚动求助
解决Ionic 3中设置ScrollEnabled=false仍滚动的问题
我之前在Ionic 3项目里也碰到过一模一样的问题!全局配置了ScrollEnabled但移动端还是能滚动,后来排查发现是几个容易忽略的点,分享给你:
Ionic组件自带滚动行为,全局配置管不到
全局的<preference name="ScrollEnabled" value="false" />只是控制WebView的整体滚动,但ion-content组件默认自带滚动功能——哪怕你没加任何滚动属性,它的scroll默认值也是true。解决办法是给每个需要禁用滚动的ion-content加上属性:<ion-content scroll="false"> <!-- 你的页面内容 --> </ion-content>或者用CSS强制禁用:
ion-content { overflow: hidden !important; }iOS弹性滚动(Bounce)容易被误当成滚动
有时候你看到的“滚动”其实是iOS WebView的弹性回弹效果,不是真正的内容滚动。这时候可以在config.xml里再加一条配置禁用它:<preference name="DisallowOverscroll" value="true" />检查页面内的其他滚动容器
有没有不小心用了ion-scroll组件,或者普通的div设置了overflow: auto/scroll?这些元素的滚动不受全局ScrollEnabled的控制,需要逐个检查并禁用它们的滚动属性。配置未生效?试试重建平台
有时候Cordova的配置不会自动同步到平台项目里,你可以尝试移除并重新添加平台:ionic cordova platform remove ios ionic cordova platform add ios # Android同理
很多Ionic 3开发者都遇到过这个问题,核心原因就是全局WebView配置和Ionic组件自身的滚动机制是分开的,得结合起来调整才行。
内容的提问来源于stack exchange,提问作者ak2g
相关产品推荐
相关产品推荐

