UIツールキットを使用して完全なユーザーインターフェイスを構築したことがないので、これに関する経験はあまりありません。ここで私はうまくいくと思います。
すべてのUIView、およびこのUIWindowには、subviews
すべてのサブビューを含むNSArrayであるプロパティがあります。
ビューに追加する最初のサブビューはインデックス0を受け取り、次のインデックス1を受け取ります。また、置き換えることができaddSubview:
てinsertSubview: atIndex:
か、insertSubview:aboveSubview:
階層内のあなたのサブビューの位置を決定することができるような方法及び。
コードをチェックして、UIWindowに最初に追加するビューを確認してください。それは0になり、もう
1は1になります。次に、サブビューの1つから別のサブビューに到達するには、次のようにします。
UIView * theOtherView = [[[self superview] subviews] objectAtIndex: 0];
// or using the properties syntax
UIView * theOtherView = [self.superview.subviews objectAtIndex:0];
それがあなたのケースでうまくいくかどうか私に知らせてください!
(このマーカーの下は私の以前の答えです):
ビューが相互に通信する必要がある場合は、コントローラーを介して(つまり、一般的なMVCを使用して)通信する必要があります。モデル)。
新しいビューを作成するとき、それがコントローラーに登録されることを確認できます。
したがって、この手法は、ビューをコントローラーに登録することです(コントローラーは、名前または辞書または配列で好きなものを使用してビューを格納できます)。コントローラーにメッセージを送信させるか、ビューへの参照を取得して直接通信することができます。
ビューにコントローラーへのリンクがない場合(そうである可能性があります)、シングルトンまたはクラスメソッド、あるいはその両方を使用して、コントローラーへの参照を取得できます。