OStack程序员社区-中国程序员成长平台

标题: ios - 无法在 Ionic 1.3.0 iOS App 中水平滚动 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:59
标题: ios - 无法在 Ionic 1.3.0 iOS App 中水平滚动

我的 Cordova/Ionic (v1.3.0) 应用程序主要包含一个为复杂表单构建 HTML 的 JQuery 应用程序。同一个 JQuery 应用程序用于为 Web 浏览器构建复杂的表单,只有少数地方插入了特定于移动设备的代码。

我现在尝试在垂直滚动表单中设置一个水平滚动的表格部分(表单本身不会水平滚动,只是表格部分)。水平滚动部分适用于计算机上的 Safari/Chrome/Firefox、iOS 上的 Safari 和我们的 Cordova/Ionic 应用程序的 Android 版本,但它不能在 iOS 应用程序中水平滚动。

我根据这些 SO 问题和文档(q1q2q3q4)尝试了各种修复,其中我将其从

更改为 并添加 overflow-scroll="true"direction="xy"delegate-handle="tableGroup" 属性并调用 $ionicScrollDelegate。 $getByHandle('tableGroup').resize() 加载 JQuery 应用程序后但没有任何效果。我还尝试使用基于 this question 的 TinyScrollbar但加载不正确。所以我尝试了很多方向,但没有得到任何地方。有什么建议吗?



Best Answer-推荐答案


我实际上是自己想出来的。我在 Ionic 页面上的容器中放置了几个简单滚动元素的变体,并且 起作用了。然后我尝试将其放入带有委托(delegate)句柄 sectionScroll 的 JQuery 应用程序中,并在 JQuery 应用程序加载后调用 $ionicScrollDelegate.$getByHandle('sectionScroll').resize();但是得到一个控制台警告说它找不到任何名为 sectionScroll 的东西,我应该把它放在 $timeout() 中。我试过了,但它仍然没有用。然后我意识到,由于 是一个 Angular 指令,它是作为使用 JQuery 插入到 Ionic 应用程序中的长模板字符串的一部分创建的,因此它需要由 Angular 编译才能被识别如下:

let toCompile = angular.element('#formContent');
let linkFn = $compile(toCompile);
linkFn($scope);
$ionicScrollDelegate.$getByHandle('sectionScroll').resize();

关于ios - 无法在 Ionic 1.3.0 iOS App 中水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44811752/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4