Может ли кто-нибудь предложить статью или пример того, как создать «бесконечное сверление» с помощью UINavigationController, как вы видите в приложениях Facebook, IMDB и BrightKite?«Бесконечное сверление» с помощью UINavigationController
ответ
Никогда не делал этого ... Я бы подошел к этому, сохранив стек с легким объектом, содержащим содержимое предыдущего представления (возможно, только URL?). Вместо того, чтобы просто нажимать на новый UIViewController на UINavigationController, вы бы пополнили свой текущий, без анимации, а затем нажмите на новое представление. Тем не менее, я не думаю, что это правильно обработало бы приятную анимацию.
Другой способ, который приходит на ум, - манипулировать массивом viewControllers UINavigationController. После нажатия на новое представление просто удалите предыдущий вид из массива. Таким образом, в стеке UINavigationController будет только один или два элемента. Обращение с кнопкой «назад» создало бы правильное представление, вставило бы его в массив viewControllers, а затем вытащил бы текущий. Управлять вашим состоянием будет легкий стековый стек объектов, а не суперкомпьютер.
-дан
В настоящее время я изучаю использование TTNavigator от Three20 в качестве решения, поскольку оно, похоже, поддерживает эту функциональность ... хотя документация ужасная, поэтому я еще не уверен. –
The UINavigationController
предназначен для использования таким образом. Если память становится проблемой, навигационный контроллер выдает скрытые виды и перезагружает их, когда придет время, чтобы перейти обратно в стек. По этой причине Apple рекомендует загрузить UIView
s из NIB.
Прокрутите вниз до пункта № 4, «Настройка представления для контроллера просмотра корневого каталога.»
kubi, Спасибо за подсказку. Вы пробовали это? Вы можете поместить журнал в viewDidUnload (или это не называется?). -dan –
Основываясь на моих экспериментах, это неверно. UINavigationController автоматически не удаляет все виды из стека, кроме тех случаев, когда вы переходите обратно. –
@ Daniel на самом деле нет, но у меня также не было проблем с памятью при использовании NavControllers таким образом, поэтому я предположил, что все работает так же, как описано в документах. Пожалуйста, позвольте мне сейчас, если вы найдете по-другому. – kubi
- 1. Сверление процесса с помощью C
- 2. сверление через DOM с помощью jQuery
- 3. Сверление вверх/вниз с помощью кнопок
- 4. Авторотация с помощью UINavigationController
- 5. Многоуровневое сверление
- 6. Бесконечное полотно с EaselJS
- 7. Сверление в VisualVM
- 8. Сверление DashBoards с использованием BIRT
- 9. бесконечное создание мира с помощью libgdx
- 10. Кэширование данных с помощью UINavigationController
- 11. данных, пересылаемых с помощью UINavigationController
- 12. Использование ссылок с помощью UINavigationController
- 13. UINavigationController подклассу с помощью кнопки
- 14. Как настроить бесконечное тестирование с помощью Транспортатора с помощью SauceLabs?
- 15. Cavnas - Сверление радиального градиента
- 16. Сверление в формате JSON
- 17. Бесконечное вращение с snap.svg
- 18. Сверление определенного драгоценного камня
- 19. Сверление в Google Maps
- 20. Tableview не сверление
- 21. UISplitViewcontroller с мастером UINavigationController и подробно UINavigationController
- 22. UINavigationController, как ребенок UINavigationController
- 23. Сверление нескольких таблиц с использованием Linq
- 24. PHP - сверление данных и петля с петлями
- 25. Сверление в sql с несколькими столами
- 26. Сверление диапазона даты с ColdFusion или SQL
- 27. Запрос на сверление с SQL на DAX
- 28. Бесконечное считывание цикла с помощью stdin с использованием cin :: fail()
- 29. UISplitViewController - несколько подробных представлений с помощью UINavigationController
- 30. Замена UINavigationController с помощью UIViewController в MainWindows.xib
Вы могли бы уточнить, что вам нравится на Facebook, IMDB и BrightKite? Я был на сайте IMDB и не видел, о чем вы говорили. –
В каждом из этих приложений iPhone есть как минимум один контроллер навигации, который позволяет вам бесконечно развернуть содержимое. Пример: в IMDB вы можете искать актера, открывать свой взгляд, открывать свой фильм, затем открывать другого актера, затем другой фильм и т. Д. И т. Д. Приложение явно отслеживает историю как-то и автоматически выскакивает определенный момент ... в противном случае он потерпел бы крах из-за превышения пределов памяти сторожевого пса. –