Nunca construí uma interface de usuário completa usando o kit de ferramentas de IU, então não tenho muita experiência com ele. Aqui está o que eu acho que deve funcionar.
Cada UIView, e esta a UIWindow, tem uma propriedade subviews , que é um NSArray contendo todas as subvisualizações.
A primeira subvisualização adicionada a uma visão receberá o índice 0, e a próxima índice 1 e assim por diante. Você também pode substituir addSubview:por insertSubview: atIndex:ouinsertSubview:aboveSubview: e esses métodos que podem determinar a posição de sua subvisão na hierarquia.
Portanto, verifique seu código para ver qual visualização você adiciona primeiro à sua UIWindow. Esse será 0, o outro será 1.
Agora, a partir de uma de suas subvisões, para chegar a outra, você faria o seguinte:
UIView * theOtherView = [[[self superview] subviews] objectAtIndex: 0];
// or using the properties syntax
UIView * theOtherView = [self.superview.subviews objectAtIndex:0];
Deixe-me saber se isso funciona para o seu caso!
(abaixo deste marcador está minha resposta anterior):
Se as visualizações precisam se comunicar umas com as outras, elas devem fazer isso por meio de um controlador (ou seja, usando o modelo MVC popular ).
Ao criar uma nova visualização, você pode ter certeza de que ela se registrará em um controlador.
Portanto, a técnica é garantir que suas visualizações sejam registradas em um controlador (que pode armazená-las por nome ou o que você preferir em um Dicionário ou Array). Você pode fazer com que o controlador envie uma mensagem para você ou pode obter uma referência para a visualização e se comunicar diretamente com ela.
Se sua visão não tem um link de volta para o controlador (o que pode ser o caso), então você pode usar singletons e / ou métodos de classe para obter uma referência para seu controlador.