1. ホーム
  2. アイオス

[解決済み】親iOSからコンテナ・ビューコントローラーにアクセスする

2022-04-10 07:21:40

質問

iOS6で、新しいコンテナビューに気づきましたが、コンテナビューからそのコントローラにアクセスする方法がよくわかりません。

シナリオ

コンテナビューを格納するビューコントローラから、アラートビューコントローラのラベルにアクセスしたいのです。

両者の間にセグエがありますが、それを使ってもいいですか?

どのように解決するのですか?

はい、セグエを使用して、子ビューコントローラ (およびそのビューとサブビュー) にアクセスすることができます。セグエに識別子 (たとえば alertview_embed ) を、StoryboardのAttributesインスペクタを使用して作成します。そして、親ビューコントローラ(コンテナビューを収容しているもの)に、以下のようなメソッドを実装させます。

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   NSString * segueName = segue.identifier;
   if ([segueName isEqualToString: @"alertview_embed"]) {
       AlertViewController * childViewController = (AlertViewController *) [segue destinationViewController];
       AlertView * alertView = childViewController.view;
       // do something with the AlertView's subviews here...
   }
}