2016-05-13 12 views
1

イオンフレームワークのネイティブスクロールに問題があります。以下はブラウザで正常に動作しますが、iOSにコンパイルされた場合は正常に動作しません。私が$ionicScrollDelegate.getScrollPosition()をある間隔でポーリングすると、私はポジションの最新値を取得しません。減速が終了した場合、またはユーザーが値が更新されたことを再度タッチした場合のみです。私はすべてのイオンスクロールコードをspelunked、しかし、__scrollLeftの値は、j​​sスクロールではなく、ネイティブを使用しようとしているので、さらに深い内部APIから来ているようです。その周りをハックしようとする試みで はコードワから直接スクロール位置を取得する方法はありますか?

は、私は私のコンテンツのウィンドウの相対位置を取得するために、DOM APIを使用してみました:

inversePosition = divContainer.getBoundingClientRect().left;

が、これは、更新の同じ不足に苦しんでいました。これは可能ではないかもしれないと私に思います。

位置を直接取得する方法はありますか?私は自分自身でionic jsバンドルに飛び込みたいと思っていますが、コード・スクロールのAPIドキュメントを探すという点でどこから始めるべきかわかりません。

私のユースケースはマッピングアプリケーションのものと似ていますが、リアルタイムの正確なスクロール位置データが必要です。

のPhoneGapは同様コルドバを包み、PhoneGapの中のソリューションが可能性があるためので....

タギングのPhoneGapを私はイオンlibにissueを開いたが、私は誰もが398の、他の未解決の問題とそれに取得することを疑いますこの問題に適用されます。

+0

これ以上私の髪を引っ張ってください。多分xCodeプロジェクトのコードバコードで深く理解できるでしょうか? 'UIScrollView'? – FlavorScape

+0

Nativescriptでは同じタイプの問題がありますが、スクロールイベントを解除するまで位置は更新されません。 Nativescriptでも使用できるこのスクロール問題のネイティブソリューションがあるのであれば、私は興味があります。 –

+0

したがって、検証するときに投稿するプロトタイプソリューションがあります。私は基本的にiOSの物理をシミュレートして減速しながら値を「予測」します。 ionic/cordovaがtargetContentOffsetを最低限提供できればいいですね。正確な目標を持っていれば、より正確に減速をシミュレートできます。 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollViewDelegate_Protocol/ – FlavorScape

答えて

0

チェックiScroll

私は、バックボーン・コルドバプロジェクトでは、イオンのプロジェクトでそれを使用していないが、私はそれが同じように動作することとします。

javascriptレベルではスクロールに多くの機能が追加されています。実装するのは少し難しく、独自のCSSとHTMLモデルを使用しているため、多くの機能を提供していますポジション。

+0

私のユースケースはパフォーマンスが強く、オーバーフロースクロールで利用されるネイティブスクロールが必要です。私はJavaScriptのスクロールを使用することはできません、それは私のアプリケーションのためにあまりにもjankyです。私を信じて、私は=試しました) – FlavorScape

0

位置情報を取得するためにスクロールするコードの下にしてみてください:

  • HTML
<div id="mySrollDiv"> 
... 
</div> 
  • JS:

var scrollTop = document.getElementById( 'mySrollDiv')。scrollTop; var offsetHeight = document.getElementById( 'mySrollDiv')。offsetHeight; var scrollHeight = document.getElementById( 'mySrollDiv')。scrollHeight;

関連する問題