問題タブ [parentviewcontroller]

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 投票する
2 に答える
56 参照

objective-c - 委譲と childViewController からのデータの受け渡し

私はこれに数日間苦労しており、途中で貴重な助けを借りて、タイプミスの可能性を減らすために可能な限り単純なプロジェクトを作成しました。私のプロジェクトはすべて、childViewControllerにフックされたコンテナビューを保持するViewControllerです。「親」ViewController は、childViewController のデリゲートとして設定されます。子の viewDidLoad では、単なる文字列である値を渡しています。この文字列は親に渡され、コンソールに出力されます。ここにファイルがあります。

ViewController.h

ViewController.m

ChildViewController.h

ChildViewController.m

アプリが起動されると、コンソールは次のメッセージをログに記録する必要があると考えるのは正しいですか: 「ここに私の値があります: こんにちは」. 論理的に委任を受けられないという点で何か間違っていますか、それともどこかで愚かなタイプミスですか? TX

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

objective-c - データの受け渡しと委任

委任について質問があります。私はプログラミングにかなり慣れていませんが、委任を使用する最初の演習プロジェクトを管理したばかりです。それはすべて、テキストフィールドとボタンを持つ子ビューコントローラーを呼び出す親ビューコントローラーです。そのテキスト フィールドに何かを書き込んでボタンを押すと、子 VC が閉じられ、テキストが返されます。その後、親のラベルに表示されます。トランジション用のアニメーションをいくつか用意しました。それはすべて機能します。最初にいくつかの写真とコードを次に示します。

これは私の親View Controllerです:

ここに画像の説明を入力

ボタンをクリックすると、子が表示されます。

ここに画像の説明を入力

テキスト フィールドに何かを書き、ボタンを押してそれを返します。

ここに画像の説明を入力

データは、親ビュー コントローラーのラベルに表示されます。

このためのファイルは次のとおりです。

ParentViewController.h

ParentViewController.m

ChildViewController.h

ChildViewController.m

コードに関しては、よくわからないことがいくつかあります。多くのコードをコピーしたことなどを学んでいるので、たとえば、同じ方法を使用して子コントローラーをアニメーション化する方法がわかりません以前にアニメーション化していたように、またはそれが重要であり、ベストプラクティスは何かなど...また、コンソールに奇妙なメッセージが表示されます。「Interface BuilderファイルのクラスViewControllerが不明です。」しかし、それは機能するので、なぜそこにあるのかわかりません。記録のために、私はストーリーボードを使用しておらず、xibs のみを使用しています。

私の質問は次のとおりです。次のように、子ビューコントローラーではなく親で子ビューコントローラーを閉じるボタンが必要です。

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

そして、それが私が迷っているところです。親ビューコントローラーからデータを返すメソッドをトリガーする方法がわかりません。誰でも助けることができますか?どうもありがとう

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

ios - childViewControllerでparentViewControllerを取得するには?

mainUIViewControllerと namedがありAddInformationControllerます。これmainViewControllerには 2 つありUIContainerViewます。それぞれにUITableViewController. テーブル ビュー コントローラの名前はInformationSegmentControllerおよびResultSegmentControllerです。

私はこれを入れましたAddInformationController

InformationSegmentControllerクラスまたはクラスのいずれかで、ResultSegmentControllerこれをログに記録しようとしました: NSLog(@"%@",self.parentViewController); しかし、残念ながら、それは nil です。parentViewController を正しく取得するにはどうすればよいですか? を使用する必要がありprepareForSegueますか?

// 質問の更新:

addChildViewControllerストーリーボードでこれらの childViewControllers を直接作成すると、メソッドを再度呼び出す必要がないことがわかりました。

私は試してみましNSLog(@"%@", self.childViewControllers)たがAddInformationController、結果にはInformationSegmentControllerクラスとResultSegmentControllerクラスが含まれています。

しかし、問題は、NSLog(@"%@", self.parentViewController)両方の childViewContorllersを呼び出すviewDidLoadと、結果が nil になることです。

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

swift - iOS - 子コンテナを介して親View Controllerのimageviewを設定するには?

私は現在コンテナ ビューを使用しており、デリゲートを使用して子ビュー コントローラを介して親ビュー コントローラ imageView の値を変更したいのですが、常に を返しますnil