2012-01-06 7 views
1

ビューのプッシュ/ポップを許可する前にナビゲーションコントローラを使用しました。しかし、それはビュー全体をプッシュ/ポップしたかった場合に使用されました。サブビューのナビゲーションコントローラの動作?

私は今、このような状況があります:

+--------------------------------------+ 
|          | 
| +---------------------------------+ | 
| |         | | 
| |   Sub View    | | 
| |         | | 
| +---------------------------------+ | 
|          | 
|    Main View    | 
|          | 
+--------------------------------------+ 

私はナビゲーションコントローラによって管理サブビューを持っていると思い、同じメインビューを維持しながら、私はそれに/ポップ・ビューをプッシュすることができるよう。

これは可能ですか?もしそうなら、あなたは私のプロジェクトでこれをどのように設定するのかについての指針を教えてくれますか?

+0

サブビューは実際にサブビューにする必要がありますか、それとも独立したビューにすることはできますか? (私はUINavigationControllerを透明にすることを考えています) – k1th

+0

下に示唆されているvid robを見てみると、すべてが下落しました。具体的には、新しいiOS 5 UIViewController APIのこのメソッドは、これを同期させます。http://developer.apple.com/library/ios/ipad/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html – ThaDon

答えて

2

メインビューコントローラがコンテナビューコントローラである必要があるようです。そこのUIViewControllerクラスリファレンスでは、このためのいくつかのドキュメントがあるが、私はこのシナリオで

https://developer.apple.com/videos/wwdc/2011/

+0

5.0+をターゲットにしている、これが行く方法です。 –

+0

ありがとうございます、私は5.0をターゲットにしています。 – ThaDon

+0

そのビデオは非常に啓発されていました。ビューコントローラ用の新しい親/子APIは、私が必要としていたものです。 – ThaDon

1

WWDC 2011年から実装のUIViewControllerコンテビデオを見てお勧めします、あなただけのサブビューを使用して追加することができそうですそれはメインビューに。完了したら、メインビューから削除します。あなたがのUIViewControllerクラスであると仮定すると、次の操作を行うことができます。あなたはすべてのあなたは、単にスーパービューからサブビューを削除することができます行われ

UIView *subView = [UIView alloc] initWithFrame: blah]; 
// subView settings 

[self.view addSubView: subview]; 
[subView release]; subView = nil; 

。必要に応じて、サブビューのtagプロパティを使用して特定のサブビューを追跡することもできます。

+0

これは私が考えていたものでした。素敵なナビゲーションコントローラーを使用できないことが分かっていたら、甘いアニメーションのエフェクトと無意味なものがすべて出てくると思っていました。ご回答有難うございます。 – ThaDon

関連する問題