javascript - 离子溢出滚动干扰 $ionScrollDelegate
问题描述
在模板页面上有一个按钮,用于激活扫描二维码的相机。为了确保摄像头始终在视图中,我将视图跳转到页面顶部并禁用页面上的滚动。不这样做经常会导致视图在屏幕外打开,并且用户通常认为应用程序已损坏,因为他们看到的只是一个白页。所以在激活相机视图的功能中,我添加:
$ionicScrollDelegate.scrollTop() ;
$ionicScrollDelegate.freezeAllScrolls(true) ;
当相机视图关闭时,我再次重新激活滚动:
$ionicScrollDelegate.freezeAllScrolls(true) ;
这一切都有效。
同样在同一页面上,我有一个街道地址,如果用户点击/点击,它将跳转到页面下方的静态地图。我正在使用以下方法滚动到同一页面上的特定位置:
$scope.scrollTo = function(id){
$location.hash(id);
$ionicScrollDelegate.anchorScroll(true);
}
它可以工作,但是,一旦滚动到该位置,页面将不会向上滚动。它卡在那个跳跃点。要解决这个问题,我必须添加overflow-scroll='true'
到我的<ion-content>
标签中。这允许用户向上滚动超过跳转点。
这行得通。
但是....添加overflow-scroll="true"
然后覆盖相机的代码 - 启用溢出滚动然后freezeAllScrolls(true)
不再工作,用户可能会意外地将视图滚动到页面之外。scrollToTop 仍然有效(这很好),但此时仍然启用页面滚动(这很糟糕)。
我该如何解决这个问题?
解决方案
推荐阅读
- reactjs - 在 React 中使用 TypeScript
- scheme - Scheme语言中的词法与动态解释器
- datagrid - 在 RTL 中使用时,在 Material-UI X-Grid 中调整列大小错误
- postgresql - 如何将项目添加到 postgress 中的本地函数数组?
- python - 如何每天在特定时间运行一个功能,然后在特定小时后停止?
- html - 同一行中的水平和垂直照片
- oracle - Power BI Oracle on Prem 网关问题 - 找不到请求的 .Net Framework 数据提供程序
- c# - 如何在 ASP.NET Core for JWT 中添加角色策略?
- css - Flex-box:未按预期对齐项目
- swift - 在不支持并发的函数中等待 Swift 5.5 中两个任务完成的正确方法是什么?