Я ніколи не будував повний інтерфейс користувача за допомогою інструментарію інтерфейсу користувача, тому не маю великого досвіду роботи з ним. Ось, що я думаю, що має працювати.
Кожен UIView, а це і вікно UIW, має властивість subviews
- це NSArray, що містить усі підпогляди.
Перший підвід, який ви додасте до представлення, отримає індекс 0, а наступний індекс 1 тощо. Крім того, можна замінити addSubview:
з insertSubview: atIndex:
або insertSubview:aboveSubview:
і такими методами , які можуть визначити положення вашого підвиду в ієрархії.
Тому перевірте свій код, щоб побачити, який вид ви додасте спочатку до свого вікна UIW. Це буде 0, інше - 1.
Тепер з одного з ваших підглядів, щоб дійти до іншого, ви зробите наступне:
UIView * theOtherView = [[[self superview] subviews] objectAtIndex: 0];
// or using the properties syntax
UIView * theOtherView = [self.superview.subviews objectAtIndex:0];
Дайте мені знати, чи це працює для вашої справи!
(нижче цього маркера - моя попередня відповідь):
Якщо поглядам потрібно спілкуватися один з одним, вони повинні робити це через контролер (тобто, використовуючи популярну модель MVC ).
Створюючи новий вид, ви можете переконатися, що він реєструється у контролері.
Таким чином, методика полягає в тому, щоб переконатися, що ваші перегляди реєструються в контролері (який може зберігати їх за назвою або будь-яким іншим чином у словнику чи масиві) Або ви можете змусити контролера відправити повідомлення для вас, або ви можете отримати посилання на представлення даних і безпосередньо спілкуватися з ним.
Якщо у вашому представництві немає зворотного зв’язку контролера (що може бути), ви можете скористатися одинарними класами та / або методами класу, щоб отримати посилання на свій контролер.