タグ付けされた質問 「uicontainerview」

11
親iOSからContainer View Controllerにアクセスする
iOS6では新しいコンテナービューに気づきましたが、コンテナービューからコントローラーにアクセスする方法がよくわかりません。 シナリオ: コンテナービューを格納しているビューコントローラーからアラートビューコントローラーのラベルにアクセスしたい。 それらの間にセグエがあります、それを使用できますか?

4
プログラムでコンテナービューを追加する方法
コンテナービューは、インターフェイスエディターを介してストーリーボードに簡単に追加できます。追加されると、コンテナービューはプレースホルダービュー、埋め込みセグエ、および(子)ビューコントローラーになります。 しかし、プログラムでコンテナビューを追加する方法を見つけることができません。実際、UIContainerViewそのようなクラスを見つけることすらできません。 Container Viewのクラスの名前は、きっと良いスタートです。セグエを含む完全なガイドは大歓迎です。 View Controllerプログラミングガイドを知っていますが、Interface BuilderがContainer Viewerに対して行う方法と同じではありません。たとえば、制約が適切に設定されている場合、(子)ビューはコンテナビューのサイズ変更に適応します。

3
addChildViewControllerは実際には何をしますか?
私は、iOSの開発に初めて足を浸すことだ、と私はやって持っていた最初のものの一つが実装され、カスタムコンテナビューコントローラを -それを呼び出すことができますSideBarViewController-スワップそれいくつかの可能な子ビューコントローラのどの出ていることは、標準のTab Bar Controllerとほぼ同じです。(これはほとんどタブバーコントローラーですが、タブバーの代わりに非表示のサイドメニューがあります。) Appleのドキュメントの指示に従ってaddChildViewController、子ViewControllerをコンテナに追加するたびに呼び出します。表示されている現在の子ビューコントローラーを交換するための私のコードは、SideBarViewController次のようになります。 - (void)showViewController:(UIViewController *)newViewController { UIViewController* oldViewController = [self.childViewControllers objectAtIndex:0]; [oldViewController removeFromParentViewController]; [oldViewController.view removeFromSuperview]; newViewController.view.frame = CGRectMake( 0, 0, self.view.frame.size.width, self.view.frame.size.height ); [self addChildViewController: newViewController]; [self.view addSubview: newViewController.view]; } それから私addChildViewControllerはここで何をしているのかを理解しようとし始めました、そして私は自分が何も知らないことに気付きました。アレイに新しいものViewControllerを貼り付ける以外に.childViewControllers、何にも影響がないようです。子コントローラーのビューからストーリーボードに設定した子コントローラーへのアクションとアウトレットは、を呼び出さなくても正常に機能しaddChildViewController、他に何が影響するか想像できません。 実際、を呼び出さないようにコードを書き直した場合addChildViewController、代わりに次のようになります... - (void)showViewController:(UIViewController *)newViewController { // Get the current child from a member variable of `SideBarViewController` …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.