ios - 无法在 Ionic 1.3.0 iOS App 中水平滚动

标签 ios cordova ionic-framework horizontal-scrolling

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

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

我根据这些 SO 问题和文档(q1q2q3q4)尝试了各种修复,我将其从 <div/> 更改为至 <ion-content/>并添加了 overflow-scroll="true" direction="xy" delegate-handle="tableGroup"属性并称为 $ionicScrollDelegate.$getByHandle('tableGroup').resize()在 JQuery 应用程序加载后但没有任何效果。我还尝试使用基于 this question 的 TinyScrollbar但加载不正确。所以我尝试了很多方向,但没有得到任何地方。有什么建议吗?

最佳答案

我实际上是自己想出来的。我在 Ionic 页面和 <ion-scroll/> 的容器中放置了几个简单滚动元素的变体。工作了。然后我尝试将它放在带有委托(delegate)句柄的 JQuery 应用程序中 sectionScroll并调用$ionicScrollDelegate.$getByHandle('sectionScroll').resize();在加载 JQuery 应用程序但收到控制台警告说找不到任何名为 sectionScroll 的内容后我应该把它放在 $timeout() 中.我试过了,但还是没用。然后我意识到自 <ion-scroll/>是一个角度指令,它是作为使用 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/

相关文章:

android - Ionic - 意外 token 仅在 Android 5 模拟器中运行时非法

ios - 使用 Swift 的 CallKit

android - ionic : No 'Access-Control-Allow-Origin' header is present on the requested resource

ios - 不同 iOS 版本的单独 info.plist?

android - 如何保证Cordova App只能安装在手机上而不能安装在平板电脑上?

javascript - 如何一个一个地删除文本框中的字符?

ios - 单击空白区域后键盘打开

css - 基于 json 的 ionic Angular 样式

objective-c - 架构 i386 的 undefined symbol ,为 iOS 构建?

ios - 如何使用 Firebase SDK 作为 Pod 依赖项?