Лучший способ объединить существующие представления / контроллеры? - PullRequest
1 голос
/ 03 сентября 2010

У меня есть существующий iPhone View Controller с соответствующим видом (через перо), который отображает интерактивный график. Пользователь может коснуться точки курсора для перемещения по кривой и получения данных, соответствующих точке касания.

Теперь я хотел бы создать новый экран, который представляет собой своего рода экран сравнения, который объединяет два из этих существующих видов. Таким образом, пользователь может видеть два графика разных кривых и взаимодействовать с каждым в отдельности. Я думаю, что было бы хорошо, если бы использовались точные существующие представления, просто изменив размер, чтобы уместить их на половине пространства.

Есть какие-нибудь мнения о том, как лучше всего подойти к этому, максимально увеличив повторное использование?

1 Ответ

0 голосов
/ 03 сентября 2010

В документации Apple рекомендуется использовать только один контроллер вида на экран iPhone. Фреймворк на самом деле не был разработан для поддержки нескольких контроллеров представления на экране, но вы можете избежать неприятностей, если будете осторожны.

Я рекомендую создать класс CompositeViewController, который содержит ссылки на два дочерних контроллера представления. Представление CompositeViewController установлено в полноэкранном режиме оболочки. Представление каждого дочернего контроллера представления установлено на соответствующее подпредставление.

Ключом к выполнению этой работы является ручное делегирование определенных вызовов из CompositeViewController вплоть до дочерних контроллеров представления. В частности, вам необходимо делегировать эти методы, если вы хотите, чтобы они вызывались на ваших дочерних контроллерах представления:

  • viewWillAppear:animated:
  • viewDidAppear:animated:
  • viewWillDisappear:animated:
  • viewDidDisappear:animated:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...