iPad Book App - структура для смены видов - PullRequest
0 голосов
/ 15 ноября 2011

Я создаю 36-страничное книжное приложение, в котором каждая страница имеет различный набор функций, включая преобразование изображений, экранных объектов, звуковых эффектов, повествования и иногда встроенного видео. Функции различаются для каждой страницы.

Моя проблема программирования: В настоящее время каждая страница имеет свой собственный контроллер представления и NIB и модально вызывает следующую страницу книги, когда пришло время изменить страницу. Поскольку модальные вызовы выглядят как вложенные, я не могу освободить все контроллеры, ресурсы и т. Д. Предыдущих страниц, и память быстро становится проблемой.

Запрос о помощи: Какая структура для переключения видов может быть более подходящей для этого? Я читал об опциях, доступных на сайте разработчика (Nav, Table, Modal и т. Д.), И без удачи искал подходящие примеры в Интернете. Я хотел бы иметь возможность делать скручивания страниц при любом способе переключения.

Есть мысли? Спасибо за вашу помощь!

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Вы можете попробовать визуализировать каждую страницу на лету, используя CoreText и вставляя графические элементы.

Я считаю, что использование ViewController для каждой страницы не очень хорошая идея

1 голос
/ 15 ноября 2011

Вы можете иметь контроллер представления - назовите его book - который отвечает за смену страниц. Каждая страница может использовать один и тот же протокол, который сообщит книге, когда менять страницы. Когда книга получает соответствующие сообщения (turnpageforward, turnpageback), book создаст соответствующий контроллер представления для следующей просматриваемой страницы, удалит текущую просматриваемую страницу из представления и добавит новую страницу в представление.

Таким образом, вам нужно будет сохранить только одну страницу активной и в памяти одновременно. Вы также сможете упростить переход на страницу, которая не является следующей или следующей за последней.

Это помогает? Я был бы рад разработать в случае необходимости.

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