OS Xのビュー間でスワイプを実装する最適な方法は何ですか?これらのビューは、それらのビューコントローラでペン先から初期化され、同じクラスタイプです。背景を表示するには、各ビューに現在の日付に関する関連データが表示されます。OS Xのビュー間でスワイプを実装する最適な方法は何ですか?
次の(または前の)日付のデータをロードする関数を作成したいと思います。私は単にデータを現在のビューに読み込むことができますが、OS Xのスペース間をスワイプするのと同様のアニメーションでそれを行うことはできますか?新しいビューを初期化し、そこにデータをロードしてから新しいビューにスワイプするように移行する必要があると思います。
これらの新しいビューをすべて作成することのパフォーマンスはかなり悪いと私は心配しています。ここにいくつかのオプションがあります:
- NSDateからMYViewControllerの辞書を作成します。このハッシュマップから各ビューをロードして保存しますが、これには大量のメモリが必要です。
- MYViewControllerの二重リンクリストを作成し、順番に日付を設定したビューをロード/ストアします。これはまた、潜在的に多くのメモリを取る可能性があり、ユーザーが日付にジャンプすると、キャッシュが消えてしまいます。
現在のビューにデータをロードする方法がある場合は、それが最善の選択肢になると思います。
ありがとうございます!
あなたはView Controllerのインスタンスを2つだけ使用することを検討しましたか? 1つは、画面から移動しているデータを表示し、もう1つは画面上に移動しているデータを表示していますか?これは、UITableViewでセルを再利用することに似ています。 –
私はこれを行うことができると思います。それでは、2つのView Controllerを入れ替えてもいいですか?私の唯一の予約は、View Controllerへの他の参照があることです。だから私は現在のものか何かを追跡しなければならないだろうか?これがどのように行われるかの例がありますか? –
だから、私は[this](http://liberatiluca.com/blog/2011/08/03/how-uitableview-reuses-cells/)の行に沿って何かを実装するつもりだと思う。私の実装では、ESViewCacheはUITableViewに類似し、ESViewCacheCellはUITableviewCellに類似しています。私はこれを行う前に、NSTableViewをサブクラス化して現在の "ESViewCacheCell"を表示できるかどうかを確認します。 –