2017-06-28 45 views
2

我的Cordova/Ionic(v1.3.0)应用程序主要由构建复杂表单的HTML的JQuery应用程序组成。使用相同的JQuery应用程序为Web浏览器构建复杂的表单,只需插入特定于移动设备的代码即可。无法在Ionic 1.3.0中水平滚动iOS应用程序

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

我想基于这些所谓问题,并在那里我改变它从一个<div/><ion-content/>,并且增加了overflow-scroll="true" direction="xy" delegate-handle="tableGroup"性能和加载JQuery的应用程序后调用$ionicScrollDelegate.$getByHandle('tableGroup').resize()但是毫无效果的文档(q1q2q3q4)的各种修补程序。我也尝试使用基于this question的TinyScrollbar,但那不是正确加载。所以我尝试了很多方向,但没有到任何地方。有什么建议么?

回答

0

我其实是自己想出来的。我在Ionic页面上放置了一些简单的滚动元素的变体,并在<ion-scroll/>上工作。然后,我尝试将它放入JQuery应用程序中,使用代理句柄sectionScroll并在JQuery应用程序加载后调用$ionicScrollDelegate.$getByHandle('sectionScroll').resize();,但得到控制台警告,说它找不到任何名为sectionScroll的东西,并且我应该将它放在$timeout()中。我尝试过,但仍然无法工作。然后我意识到的是,由于<ion-scroll/>是作为插入使用JQuery的离子应用长模板字符串的一部分创建的角的指令,它需要由角被编译被识别如下:

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