私のプロジェクトでは、スクロールのためにUIViewController
としてUIPageControl
を使用しています。私はこのチュートリアル(ARC
とストーリーボードを使用)を使用しました:http://www.wannabegeek.com/?p=168とソースコード:https://github.com/wannabegeek/PageViewController ご覧のとおり、プロジェクトには3 ViewControllers
があり、CustomPagerViewController
には子として追加されています。そのプロジェクトでは、追加されたのは3つだけですViewControllers
ですが、私のプロジェクトでは3つ以上のViewControllers
を取得しました。また、別のテキスト、画像、ラベルなどで再利用しています。問題は、プロジェクトでは、がロードされたときにロードされているので、一度にロードするのではなく、この問題にどのように対処できるのか、別の方法を探しています。UIPageControlにViewControllerをロードする別の方法
6
A
答えて
0
コントローラの割り当てをこのように最適化しないでください。明らかにメモリ内のビューコントローラを保持することはスペースを取るが、それほど多くはないと私は信じている。
ここでは、コントローラとそのビューの違いがあります。ビューは自分自身を画面に表示するために大量のメモリを消費することがありますが、iOSは必要なくなったときにこのメモリを解放するための独自のメカニズムを既に持っています(ビューが画面にない/ウィンドウを持たない) 。
iOSビューコントローラは、自分自身でビューメモリを解放するために使用されましたが(この動作は[UIViewControllers didReceiveMemoryWarning]にありました)、これはiOS 6ではこれ以上行われませんでした。あなたのアプリ。このメソッド(またはdealloc)でこれらのビューを整理するにもかかわらず、画面内のビューを表示するために使用される(グラフィカルな)リソースのほとんどがiOSによって既に解放されている可能性があるため、多くのメモリを節約しません。メモリ量は0に近づくかもしれません。
あなたのケースでは、私はthis guideを使ってPagerViewControllerを適切なiOSコンテナコントローラに変換します。キーは、以下のメソッドを呼び出すことです:
あなたのニーズに応じて正しい順序で。あなたの場合、scrollViewDidScrollメソッドでこれらを追加/削除できます。この方法でそれらを使用して、Appleの魔法を起こさせてください。
UIPageViewControllerを使用すると、すぐに使用できる優れた機能が得られます。
関連する問題
- 1. viewControllerからアクセスする方法Swift 3の別のviewController
- 2. 複数のSegmentedControlをViewControllerにロードする方法
- 3. 1つのViewControllerから別のViewControllerにオブジェクトにアクセスする方法
- 4. ViewControllerをviewDidLoad()のnibからロードする方法は?
- 5. 別のviewcontrollerでtableviewにテキストフィールド値を送信する方法
- 6. ログイン成功後に別のViewControllerを表示する方法
- 7. SWRevealViewControllerを持つ別のViewControllerから別のViewControllerにデータを送信する方法
- 8. メインのViewControllerから別のUIViewを直接ロードする
- 9. 注釈情報を持つViewControllerをロードする方法
- 10. UIPageControl新しいビューまたは別のコントローラをロードしています
- 11. if文で新しいviewcontrollerをロードする方法OBJ C
- 12. 別のviewcontrollerでメソッドにアクセスする方法
- 13. TableViewControllerから別のViewControllerにFirebase iOSのデータを渡す方法
- 14. 別のViewControllerでViewControllerのインスタンスを識別する
- 15. NSMutableArrayを別のViewControllerクラスに渡す方法
- 16. Swift3、別のviewControllerで同じUITableViewを使用する方法
- 17. 別のViewControllerからViewTableをリフレッシュする方法
- 18. segueを実行する方法または別のviewController
- 19. 別のViewControllerからAVPlayerViewでビデオを再生する方法
- 20. 移動後にViewControllerをロードする
- 21. カスタムViewControllerにデータをロードする
- 22. Seguesを使用せずに1つのviewControllerから別のviewControllerにデータをプッシュする方法
- 23. ViewControllerに数値を格納し、それを別のViewControllerに再利用する方法は?
- 24. segueとviewcontrollerからviewcontrollerへのデータを別のviewcontrollerに転送する
- 25. Facebookのログイン後に別のviewcontrollerに行く方法は?
- 26. AppDelegateから別のViewControllerに保存されたコンテキストをロードする
- 27. init ViewController渡されたパラメータに基づいて別のXIBをロードする
- 28. Objective-Cを使用して別のViewControllerからテーブルビューを再ロード
- 29. ボタンを使用して1つのViewControllerから別のViewControllerにナビゲートする方法。 Swift 3(No StoryBoard)
- 30. 1つのViewControllerから別のViewControllerにオブジェクトを渡すには
このリンクを参照してください。 http://stackoverflow.com/questions/2942636/how-can-i-change-the-color-of-pagination-dots-of-uipagecontrol – Tirth
私はどのように私はビューコントローラを置くことができる方法を探していますUIPageControlを使用すると、子としてすべてを追加することなく、多くのメモリが必要になります。 –
答えを追加する前に:3つのビューすべてで画像を使用しますか?インスツルメントの実装では、InstrumentsがAll Allocationsについて何を言っていますか? –