私のチャットビューコントローラのviewDidLoadで、私はself.appDelegate.client?.historyForChannel(currentChannel, start: nil, end: nil, limit: 20, withCompletion:
を書いて、最近の20のメッセージを取得します。しかし、私は無制限のスクロール機能のためにこれらの最近の20のメッセージの前に古い/古い20のメッセージを取り出すことを望みます。これどうやってするの?それはUIScrollViewDelegate
を介して行うことができますSwift + Pubnub chatアプリがスクロールのための古いメッセージをロードする
答えて
ストア:
self.client?.historyForChannel(channel, start: lastStoredTimstamp, end: nil, limit: 20, reverse: false, withCompletion:
私はそれをテストしているし、それがうまく動作します。
リトル説明: startパラメータのみを使用すると、指定されたタイムトークンよりも古いメッセージが常に返されます。 reverse = trueを設定すると、提供されている時間トークンより新しいメッセージが表示されます。
https://www.pubnub.com/docs/swift/storage-and-history PubNubヒストリーAPIがタイムライン図とどのように機能するかをご覧ください。
(あなたのケースでは、それはのUITableView内です)すべての
まず、あなたのUITableView
のデリゲートを設定します。
はその後、あなたはscrollViewDidScroll(_ scrollView: UIScrollView)
をオーバーライドする必要があり、それはサンプルコードです:
let currentOffset = scrollView.contentOffset.y
let maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height
let deltaOffset = maximumOffset - currentOffset
if (deltaOffset <= 0)
// call to self.appDelegate.client?.historyForChannel with the offsets
)
ザ・リストの一番下に達した時に式が打つ場合。
self.appDelegate.client?.historyForChannel
には、開始オフセット&が含まれています。開始は、historyForChannel
を呼び出すたびに+20(クラス変数をどこかで宣言する)を追加することで計算できますが、応答のオブジェクトには固有のIDがない場合にのみ動作します。あなたはPubnub履歴から受信した最初のメッセージのタイムスタンプは次の20のメッセージを受信する
問題は、 'start'と' end'はNSNumbersであり、それらは日付でなければなりません。それで、私は各スクロールのために単純な+20をすることができません –
- 1. 古いメッセージをロードするFirebaseとAngularFire
- 2. メッセージdm in chat Discord.js
- 3. 最新のメッセージを一番下に読み込んで、古いメッセージをロードして古いメッセージをTableViewにロードする
- 4. WebRTC + Pubnub Apiをネイティブios8アプリswift 2.0のビデオチャットクライアントに使用する方法
- 5. facebook chatで受信メッセージをキャプチャする
- 6. iosでのチャットのためのPubnub
- 7. PubnubをAngular2 webpackアプリにインポート
- 8. 古いノキアの携帯電話のためのアプリを開発する
- 9. http://古いユーザーのためにhttp://ウェブサイトがロードされていません
- 10. arduinoからPubNubメッセージを読むには
- 11. チャット履歴のメッセージをメッセンジャーPubnubに表示する
- 12. 古いデバイスでAndroidアプリがクラッシュする
- 13. 着信のためにtokboxでpubnubを使用する方法
- 14. pubnubからのメッセージは、私は数字この例では、オブジェクトの「メッセージ」の値を取得したいJSON
- 15. 古いVuforiaアプリをインポートしたい
- 16. 古いバージョンのアプリのダウンロードアンドロイドプレイスストア
- 17. 古いメッセージを保存するには
- 18. PubNub遅延が加入チャネルからのメッセージを受信する(アンドロイド)
- 19. iphoneアプリの編集イベントのための古い残りのAPIの混乱?
- 20. iPhoneアプリは古いプロフィールを求め続けています。
- 21. Pubnubは、あなたが購読している場合Pubnubチャネルグループで
- 22. 埋め込みTomcatのエラータイプのreactor.tuple.tupleが埋め込まれたstomp-chat Webソケット
- 23. Ionic Pubnub chat in Angular:ionic.bundle.js:21157 TypeError:PubNub.publishは関数ではありません
- 24. RailsのアプリのためのmailgunメッセージAPIで保存されたメッセージを取得する方法
- 25. 古いデータをテーブルビューにロードする
- 26. node.js |古いデータをロードするRedisキャッシュ
- 27. SWIFT:私が欲しいものを記述するための
- 28. 古いスタジオのロード中にAndroidスタジオのグラデーションがハングアップする
- 29. PubNub iOS WebRTCインテグレーション
- 30. PythonのPubNubの加入者は、これが私の出版社であるメッセージ
質問で「別の20個のメッセージを取得する必要があります」と説明できますか?どの20メッセージ? –
メッセージの履歴には40のメッセージがあり、viewDidLoadはメッセージ[0]〜[19]を取得しますが、どのように[20]〜[39]を取得しますか? –