2012-02-26 6 views
0

次のアプリケーションを開発したい:上にナビゲーションバーがあり、中央にはTableViewControllerがあり、下には実際にはスライダーであるカスタムコントロールがある(スライダーを動かすと私は別のTableViewControllerを提示する - しかし、私のナビゲーションバーは同じままです)。 TableViewでセルを選択すると、新しいViewControllerをプッシュしたいので(ナビゲーションバーを変更します)、カスタムコントロールを終了します。私は私のアプリケーションのプロトタイプの写真を添付し​​ました。私はこれを実装すべきだと提案しますか?私のカスタムコントロールはIBを使って設計されているので、ストーリーボードではなく.xibファイルを使って古い方法を使うべきだと思います。 enter image description here同じウィンドウ上に3つのUIViewControllerを配置

答えて

0

ビューコントローラを別にするのは本当ですか?あなたが記述したものは、すべての最新バージョンのiOSと互換性のある方法でビューで処理することができます

画面の3つの部分に別々のビューコントローラを使用したい場合は、iOS 5(またはそれ以降)。 iOS 5以降、ビューコントローラには他の「子」ビューコントローラを含めることができます。独自のコンテナビューコントローラを作成できます。

メソッドaddChildViewControllerを見て、現在のView Controllerの子としてView Controllerを設定します。すべての子を最初に追加してから、親ビューコントローラのサブビューとしてコンテンツビューを追加します。

ルートコントローラが複数の子ビューコントローラを持つコンテナビューコントローラであるナビゲーションコントローラが必要なように聞こえます。子の1つを交換する場合は、transitionFromViewController:toViewController:duration:options:animations:completion:を使用して子ビューコントローラを切り替えます。

+0

私は個別のView Controllerを必要としているかどうかわかりません。私は私のCustomControl(スライダ)を使用して、中央のTableViewを交換したいと思います。私がTableViewからセルを押すと、新しいViewControllerをプッシュしたいので(ナビゲーションバーを変更するには、戻るボタン")。だから私は2つのサブビュー(TableViewと私のCustomControl)の2つのビューコントローラを追加するaddChildViewControllerを使用することができると言っている? – Cosmin

+0

実際には、私はナビゲーションコントローラとテーブルビューコントローラが必要だと思います。なぜなら私のナビゲーションコントローラは私のCustomControl(これは基本的にUIControlのサブクラスです)の削除アイテムに設定できるからです。だから私は、TableViewからセルを押して私はプッシュを実行しますが、私はどのように私のウィンドウの下部に私のCustomControlを維持しながら、中からTableViewCotnrollerを交換することができますか? – Cosmin

+0

@Cosminテーブルビューコントローラをスワップする必要はありません。既存のテーブルビューコントローラを使用して、テーブルビューに[[self tableView] reloadData]でデータをリロードするよう指示します。その後、あなたのUITableViewDataSourceに、古い日ではなく、新しい日のデータを供給させます。 –

関連する問題