問題タブ [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.

0 投票する
1 に答える
549 参照

ios - UINavigationController の iOS ChildViewController = ステータスバーを表示

子ビュー コントローラーに接続されているビュー コンテナーを実装するときに、奇妙な問題に遭遇しました。

階層は次のとおりです。 UISplitViewController があり、MasterViewController に、UINavigationController に埋め込まれている UIViewController に接続されているビュー コンテナーを追加しました。

ストーリーボード

結果は次のとおりです。

ChildViewController は、ステータス バーとまったく同じ高さのように見える空白を上部に残します。ステータスバーフレームが子View Controllerに表示されないようにするにはどうすればよいですか?

ChildViewController とその UINavigationControllerを設定しようとしwantsFullScreenLayoutましたが、何も変わりません。

また、ビューの y オフセットを -20.0 ポイントに設定しようとしましたが、別の問題が発生します。

アプリケーションのステータスバーを非表示に設定した場合にのみ、ChildViewController には表示されませんが、UISplitViewController の上部にあるステータスバーも非表示になります。

何かのヒントになれば幸いです。

結果

0 投票する
3 に答える
64303 参照

ios - 子View Controllerのビューを親View Controllerのサブビューに追加します

tableViewController を containerViewController の子ビュー コントローラーとして追加したいと考えています (以下を参照)。Apple のView Controller Programming Guideによると、containerViewController 内の次のコード行でこれを実現できます。

実際、それはうまくいきます。問題は、tableViewController のビューを containerViewController のルート ビューのサブビューとして追加したくないことです。代わりに、containerViewController のルート ビューのサブビューである containerView (画像を参照) のサブビューとして追加したいと考えています。そこで、上記のコードを次のように変更しました。

アプリを起動すると、次のエラーですぐにクラッシュします。

キャッチされない例外「UIViewControllerHierarchyInconsistency」が原因でアプリを終了しています。理由:「子ビュー コントローラー: 親ビュー コントローラーが必要ですが、実際の親は:」です。

ここで何が問題なのですか?childViewController のビューをその containerViewController の特定のサブビューに追加することはできません? または、View Controller階層でエラーなしでこれを達成するにはどうすればよいですか?

containerViewController

0 投票する
0 に答える
204 参照

ios - ChildViewController = 0 の場合、popToRootViewController の後にクラッシュします

popToRootViewController と NavigationControllerDelegate の組み合わせで奇妙なクラッシュが発生しています。Storyboard には 3 つの tableViewControllers が作成されます。RootViewController - secondViewController - ThirdViewController 次に、ThirdViewController で popToRootViewController を実行します。ポッピングは正常に機能しますが、すぐにクラッシュするか、RootView で何か他のものをタップするとクラッシュします。popToRootViewController の直後に NavigationController の childViewControllers が 0 であることがわかりましたが、戻るボタンを 1 つずつポップしてもクラッシュしません。

NavigationController のデリゲートを無効にすると、クラッシュが解決され、childViewControllers は 0 になりません。ただし、ユーザー入力の検証に使用しているテキストフィールドのデリゲートを無効にするには、NavigationController デリゲートが必要です。(つまり、ユーザーが必須テキストフィールドを空のままにした場合、ナビゲーションコントローラーのデリゲートは、ビューをプッシュ/ポップする前にテキストフィールドデリゲートを無効にして、テキストフィールドデリゲートによってアラートビューがトリガーされないようにし、これは正常に機能します)。

childViewControllers カウント = 0 を示す NSLog 出力を次に示します。ビューをポップ/プッシュするときに、childViewControllers の数をカウントしています。

アプリ起動時 (NSLog in viewdDidAppeared)

ルートを 2 番目にプッシュ

セカンドからサード

3 番目の popToRootViewController。

しかし、RootViewController は新しく作成されましたか? でも、いずれ潰れます。

参考までに、navigationController のデリゲートを無効にしたときのログを以下に示します。この問題を解決するためのアドバイスがあれば、非常に感謝しています。

よろしく、

0 投票する
3 に答える
4373 参照

ios - iOS - childViewController がイベントを受け取らない

最新の更新: 以下とまったく同じ方法で構築された新しいプロジェクトを作成しました。ただし、このテストプロジェクトは実際には同じように見えますが、実際には問題なく動作します...私が気づいたことの1つは、壊れたバージョンの親View Controllerが-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event、子View Controllerのビューをクリックすると.動作中のバージョンでは、子ビュー コントローラーがイベントを受け取る必要があります...親ビューが子ビューまたは何かをブロックしているようです..?

進捗状況の更新: 少しいじってみると、フレームを子ビュー コントローラーに直接割り当てたときに問題なく動作することがわかりました。ただし、自動レイアウトを使用してプロジェクトを作成する必要があるため、それが私が行ったことです。何らかの理由で、自動レイアウトにより、子ビュー コントローラーのビューが応答しなくなります...

現時点では、子ビューコントローラーが1つしかないビューコントローラーがあります。childviewcontroller のビューは問題なく表示されますが、childViewController とはまったく対話できません。childViewController にはいくつかの UIButtons がありますが、クリックに応答しません。

親と子のビューコントローラーの両方でこれをテストしてみました。

子View Controllerのビューのフレームをクリックすると、このメソッドは親View Controllerでは応答しますが、子View Controllerでは応答しません。

子ビュー コントローラーは、アプリ デリゲートで直接作成してルート ビュー コントローラーとして設定した場合にも正しく動作します。

親View Controllerで使用しているコード:

新人を助けてくれてありがとう!:)

0 投票する
1 に答える
160 参照

ios - コンテナ内のインタラクティブな UITableViewController

私が現在セットアップしているiOSアプリに取り組んでいます:

経由で UITableViewController に接続された RootViewController

rootViewControllers ビューのサブビューとして tableVC.view を使用します。次に、RootVC には UIPanGestureRecognizer があり、これを使用してテーブルを左にパンするアニメーションを作成します。

これはすべて正常に機能し、テーブルは静的ビューとしては優れていますが、起動しようとすると

セルをタップしても呼び出されません。ジェスチャ認識によってタップが誤って登録されているかどうかは既に確認しましたが、そうではありません。

tableView が画面上にあるときに子 UITableViewController にタップを送信するように RootVC に伝える必要がありますか?

0 投票する
2 に答える
493 参照

ios - メソッドから UITableView コンテナをリロードする

を変更して受け取ったパラメータを使用して、テーブルビューをリロードしようとしていますUIDatepicker。現在、データをキャプチャしてに送信する次のメソッドがありますUIButton(これは機能します)。呼び出された UITableViewController を格納するコンテナー ビューをリセットしようとしていますがDisplayTableViewControllerNSFetchController. この問題をデバッグまたは修正する方法について何か提案はありますか?

ここに画像の説明を入力


編集

コンテナー内の NSFETCHCONTROLLER

0 投票する
0 に答える
107 参照

uisearchbar - childViewController から作成されたバー ボタンが機能しない

私はparentViewContoller(UINavigationItem付き)とchildViewContoller(UITableViewContoller、UISearchBar付き)を持っています。searchBar が非表示になっているクリックで UIBarButtonItem を作成したい。

しかし、myButton をクリックすると、NSLog が表示され、searchBar は非表示になりません。コードが機能しないのはなぜですか?