2012-10-16 88 views
3

是否可以添加動力/慣性滾動到trigger.io包裝的HTML5 iOS應用程序?Trigger.IO勢頭滾動

我目前正在構建一個基本的應用程序,並且注意到當瀏覽內容(iOS 6; iPhone 5)時,Webview沒有響應滑動動作的勢頭。換句話說,一個緩慢刷卡快速掃結束了滾動到網頁視圖的相同部分(與本機應用程序,其中所述快速掃應該滾動到更遠的部分)。

是否有可能改變這種行爲並使其更像原生狀態?我曾嘗試以下these iOS momentum scrolling instructions和修改CSS,如下圖所示,但是這並不工作:

html { 
overflow: scroll; 
-webkit-overflow-scrolling: touch; 
} 

作爲一種變通方法,我覺得我可能我的WebView內使用intertia-模擬JS庫,但是我想如果可能的話避免這個選項。

在此先感謝!

+0

在iOS上的觸發器上滾動應該有動量(當我嘗試它時)。您正在查看的頁面中可能有某些內容導致它無法工作?你可以嘗試一個簡單的頁面,內容很長,但沒有造型,看看你是否還有問題? – Connorhd

+0

@Connorhd:我嘗試了香草造型,但仍然沒有運氣。即使釋放手指後,我仍然可以繼續滾動,但似乎是人爲的,如上所述,我發現_slow swipe_和_fast swipe_之間沒有區別。在您的測試中,如果您通過積極滑動從頂部滾動到底部,您是否明顯比使用輕掃更​​遠? – dbau

+0

我看到平滑和快速滑動之間的差異,觸發器webview的行爲與Safari中打開的網頁的行爲類似(但沒有過度滾動)。測試我只是使用默認的應用程序觸發器創建並添加一些額外的段落,使頁面更長。 – Connorhd

回答

1

是的。試用方丈記在這裏你可以看到勢頭行動滾動: https://itunes.apple.com/us/app/hojoki/id525010205?mt=8

你不必做任何特殊,使氣勢iOS中滾動。如果你沒有看到它,那麼很可能是你使用的一些樣式或第三方庫與它相關聯。

+2

說實話,Hojoki並不**使用本地動態滾動。我們正在與[iScroll](http://cubiq.org/iscroll-4)合作,它爲您提供了一些更多的功能(例如,更好地跟蹤當前滾動位置,下拉刷新,捕捉元素,..)。另一方面,當使用許多DOM元素(特別是在較舊的設備上)時,它可以使用大量的性能(和內存)。但是,iOS性能似乎比Android好得多。 –

+0

謝謝 - 在啓動一個乾淨的項目後,我現在可以看到效果,儘管它仍然不如我的一些本機應用程序那樣明顯。阿米爾:是否可以調整動量滾動選項?在本地Facebook或Instagram應用程序與T.IO應用程序的滾動中,我仍然看到相當大的差異 - 本地應用程序往往會繼續滾動更長時間,這讓IMO給出了更流暢的感覺。這是可定製的嗎?或者最好是使用一個@PatrickRudolph建議的庫? – dbau

+0

據我所知滾動使用'-webkit-overflow-scrolling:touch;'感覺和使用類似UIScrollView的本地滾動完全一樣。也許這[關於移動Safari瀏覽器問題的帖子](http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/)提供了一些幫助/建議。 –

2

我對你的應用程序的css瞭解不多,但-webkit-overflow-scrolling: touch;只會將觸摸滾動慣量賦予固定高度/寬度的固定或絕對元素。應用-webkit-overflow-scrolling: touch到身體或html元素,如果你不喜歡的東西

body { 
    position:fixed; 
    top:0; 
    right:0; 
    bottom: 0; 
    left: 0; 
    overflow: auto; 
    -webkit-overflow-scrolling: touch; 
} 

我們用它在我們的觸發程序來模擬的UITableView

0

是隻會工作。我設法使用iScroll實現它,但必須修改庫。我真的不推薦-webkit-overflow-scrolling: touch,因爲它在渲染動量滾動時不會渲染任何DOM變化。因此,如果您通過元素滾動來重新調整元素,它看起來很糟糕。

這裏是我的倉庫,我已經添加了一個新的回調onScrolling()當滾動動畫是發生在iScroll提醒:https://github.com/simpleshadow/iscroll/blob/master/src/iscroll.js

而這裏的,我用我的Trigger.io應用,在那裏我改變的例子在動量和觸摸滾動時div的高度:http://jsfiddle.net/simpleshadow/wQQEM/22/