問題タブ [childviewcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Presented/Presenting View Controller と Parent/Child View Controller 間の相互作用はどこかに文書化されていますか?
iOS での UIViewControllers の変更に関するドキュメントを読んで、モーダル ビュー コントローラーの提示の間の相互作用がカスタム コンテナー ビュー コントローラー内でどのように機能するかを理解しようとしています。最終的に、私ができるようにしたいのは、それらのコントローラーの一部が子ビューコントローラーによって提示されている場合でも、提示されたビューコントローラーのチェーンを確実にウォークスルーすることです。
(私はアプリではなくライブラリで作業しているため、対話する階層を作成していません。単にライブラリがさまざまな種類の階層内で正しく動作することを確認しようとしています。)
私の質問は、誰かが子View ControllerからView Controllerを提示しようとするとどうなりますか?
提示されたView Controllerは、それが破棄されるまで対話を「引き継ぐ」ことを意図しているため、プレゼンテーションリクエストがその親に転送されることは理にかなっています(または実際には、parentViewControllersのチェーンを上にあるView Controllerに到達するまで親ViewControllerなし)、そのView Controllerから表示されます。そうでなければ、開発者が 2 つの異なる子からモーダル ビュー コントローラーを提示するなどのことができるように思えます。これは私には問題があるようです。(たとえば、提示されたビュー コントローラーはどれが優先されますか?)。
さらに、上記が本当なら、それはいくつかの意味を持ちそうです。親View Controllerが表示されたView Controllerを表示している場合、これは何を返しますか?
nil
親が表示しているからでしょうか。または、この要求を親に転送して、parentViewController
とそのいずれかchildViewControllers
がすべて同じ結果になるようにすることはできますか?
とにかく、いくつかのシナリオの実行を開始するためのサンプル プロジェクトが用意されていますが、見落としているドキュメントがあるかどうか知りたいです。または、誰かがこの相互作用がどのように行われるかをすでに知っている場合はどうなりますか?
ios - viewDidUnload で子ビュー コントローラに nil を設定する
私の iOS アプリは、次の構造のナビゲーション ベースです。
viewControllerB
がそれらをプッシュする前にviewControllerC
インスタンス化されます。ViewControllerA
navigationController
私の理解では、保持されているものはすべてViewControllerA
nil in に設定する必要がありViewControllerA
ますviewDidUnload
。子View Controllerにも同じことをする必要がありますか? このような:
から開始された「受信メモリ警告」があったときに問題を発見しましたviewControllerC
。その後、viewDidUnload
親ビュー コントローラ (つまりviewControllerA
) が呼び出され、nil が「viewControllerB」に設定されました。意外にも、viewControllerB の viewDidUnload も呼び出されます。そのため、 nil を のサブビュー ( 内) に設定すると、「割り当て解除されたオブジェクトにメッセージが送信されました」というメッセージが表示されましviewControllerB
た。viewControllerB
viewDidUnload
nil を子ビュー コントローラーに設定してはならないということですか? この状況でのメモリ管理のベスト プラクティスは何ですか?
PS私はARCを使用しています。
ios - タッチに反応しない uiviewcontroller の uiviewcontroller 子
複数のビューと 1 つの uiviewcontroller を子として持つ UIViewcontroller があります。uiviewcontroller には tableview が含まれています。子 uiviewcontroller にはデリゲート メソッドとデータソース メソッドがあります。
テーブルビュー、デリゲートがテーブルを正しく構築しているのを見ることができますが、子の uiviewcontroller がタッチに反応しないため、セルをスクロールしたり選択したりすることはできません。
ios - 子ビューコントローラーとして追加されたナビゲーションコントローラーのフレームを設定します
子ViewControllerとしてを追加しUINavigationController
、親よりも小さいフレームを指定しようとしています。ただし、ナビゲーションコントローラーのフレームを変更しても、ナビゲーションコントローラーのルートビューコントローラーのフレームは正しく変更されません。
のviewDidLoad
次に、でviewWillAppear:
:
ナビゲーションバーは適切に配置されていますが、ルートビューコントローラーの白い背景はそうではありません。私は正確に何を間違っているのですか?ご協力いただきありがとうございます。
uiscrollview - スクロールビューでユーザー操作が有効なサブビュー
ContainerView を含む ScrollView があります。ContainerView には、ユーザーがパンできるはずの別のビューが含まれています。
scrollView は垂直方向にのみスクロールし、「containerView 内のビュー」はすべての方向にパン可能です。これが私が持っているものです
何が起こるかというと、modelController のビュー内のタッチ イベントと、modelControler のビューの外側にあるがスクロールビューの境界内にあるタッチ イベントが、お互いの道を歩んでいるように見えるということです。で遊んだ
しかし、まだ実用的な解決策を見つけていません。
何か案は ?
前もって感謝します
objective-c - addChildViewController を介して UISplitViewController を追加します
別のviewcontroller(1)とsplitviewcontroller(2)がaddchildviewcontrollerメソッドを介して切り替えを行うUIViewControllerが1つあります。そのため、splitviewcontroller を追加すると、正しい回転が処理されません。動画をご覧ください – https://dl.dropbox.com/u/2139277/IMG_0180.MOV .
切り替えを行うコードは次のとおりです。
ios - AutoLayout と ChildViewControllers の問題 (ChildVCs のビューのサイズが正しくない)
かなり単純なことを行うのにいくつかの困難が発生しています。何かが欠けていますが、表示されません...
非常に単純なアプリ(IBを使用)で問題を再現しました:
- アプリのメイン ViewController は UINavigationController です。
- NavigationController のルートは「FirstViewController」です。
- FirstViewController と SecondViewController は空の UIViewController サブクラスです。
- クラスの作成時に XCode によって生成された XIB ファイルでは、AutoLayout が有効になっています。
- SecondViewController の上部と下部にラベルを配置しました (垂直スペースの制約 = 0)。
ChildViewController の使用
問題は、「ChildViewControllers」メソッドを介して SecondViewController を表示すると、iPhone4 で問題が発生することです。下のラベルが表示されません。
NavigationController の使用
NavigationController を介して「SecondViewController」を表示すると、問題なく、SecondViewController が正しく表示されます。
また、SecondViewController が NavigationController を介して一度表示されるとすぐに、常に適切に表示されます。
私は確かに何かが欠けていますが、何ですか?:p 何かアイデアはありますか?
ドロップボックスに簡単なプロジェクトをアップロードしました: https://dl.dropbox.com/u/36803737/sharebox/AutoLayoutTest.zip
ありがとう!
ジュリアン
ios - Cocoa: 子ビュー コントローラーを削除できません
メイン ビュー コントローラーのビューを読み込みます。このメイン ビュー コントローラーは、2 つの子ビュー コントローラー (分割ビュー: マスターと詳細) を追加します。init メソッドで追加した直後に子 VC の数をログに記録すると、出力として「2」が得られます。-switchToCommunication メソッドを呼び出して、詳細な子 VC を削除しようとしても、ビューは変わりません。しかし、ログによると、アレイが実際には 2 つの子 VC から 1 つに縮小されています。
どうしたの?
ios - iOS UIButton の状態を変更するためのparentViewController へのアクセス setSelected:YES
MainViewController に UIButton があります。
MainViewController には childViewContoller があります。
mainViewController の UIButton (tcButton) プロパティに childViewController からアクセスし、viewDidLoad で setSelected:YES に設定する必要があります。ChildViewController.m ファイルに次のコードがありますが、機能していません。