0

検索し、調べ、実験した後、私は特定の問題で失敗し続けています。私はプログラミング初心者なので、たまたま正しい検索用語を使用していませんでした。

これが私が苦労している状況です。

ViewController 1 には 2 つの UIToolBars があります。上部のツールバー ボタンは値を表示し、下部のツールバー ボタンは ViewController 2 のアクションをトリガーします。これは、たまたまコンテナー ビューを介して埋め込まれた TableViewController です。その理由は、TableView をスクロールしている間、ツールバーを所定の位置に保持する必要があるからです。

デリゲート プロトコルを使用して、VC2 から VC1 の上部ツールバーに値を送信すると、正常に動作します。しかし、VC1 の下のツールバーを使用して VC2 でアクションをトリガーできません。

3つの質問をしたいと思います:

1.) アクションをトリガーする/問題を解決するためのベスト プラクティスは何ですか? 2.) VC2 で「theButtonWasTapped」という名前のメソッドを使用する場合、コードは実際にはどのようになりますか? 3.) コンテナ ビューを介して TableView を埋め込む方法は正しいですか、それともより良い方法がありますか?

さまざまなドキュメントを読み込もうとしましたが、この場合はどこから始めればよいかさえわかりません。

私はすでに何日もイライラして座っていて、メンタルブロックがどこで終わり、欠落した知識がどこから始まるのかわからないので、どんな助けも大歓迎です.

どうもありがとう!

4

1 に答える 1

1

VC2 がコンテナー ビューに埋め込まれている場合、VC1 の子ビュー コントローラーになります。したがって、self.childViewControllers[0] を使用して VC1 からアクセスできます。したがって、VC1 で次のようなことができるはずです。

-(IBAction)toolBarButtonTapped:(id) sender {
    SecondViewController *vc2 = self.childViewControllers[0];
    [vc2 methodInVC2];
}
于 2013-05-29T00:30:33.393 に答える