iOS Multiview App - PullRequest
       19

iOS Multiview App

0 голосов
/ 11 сентября 2011

Я пытаюсь создать приложение с несколькими окнами, т.е. на основе некоторых жестов, отображаются новые виды, удаляются и т. Д.

Я нашел 3 способа сделать это -

  1. [self.view insertSubview:newViewController.view atIndex:3];
  2. Использование UINavigationController
  3. Наконец, используя modalViewController - [self presentModalViewController:newViewController animated:YES];

Во-первых, во втором методе я могу использоватьэтот контроллер без UINavigationTabBar?У меня есть набор пользовательских UIView объектов, которые я хочу нажать и вытолкнуть с экрана.Я не хочу, чтобы уродливый Apple NavigationBar вверху (или внизу).Я предоставлю пользовательские кнопки, в зависимости от которых [self.navigationController popViewControllerAnimated] должно произойти.Это возможно?

Кроме того, какой из этих методов лучше?С точки зрения использования и обслуживания кода, использования памяти и т. Д.

Ответы [ 2 ]

1 голос
/ 11 сентября 2011

С точки зрения использования и обслуживания кода, использования памяти и т. Д., Нет никаких сомнений в том, что UINavigationController подходит лучше всего.Он был оптимизирован именно для того, что вы делаете.А поскольку вы нажимаете и извлекаете из него UIViewController с (а не только UIView с), представления, которые в данный момент не отображаются на экране, могут автоматически освобождаться для освобождения памяти ОС.

Можно ли использоватьвид навигации без панели сверху?Я думаю, может быть, вы должны RTFM.В частности, -setNavigationBarHidden:animated:

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

Возможно, вам повезет, если вы нажмете и вытолкнете анимацию без (путем передачи NO параметру animated: этих методов) и настройте делегат для обработки -navigationController:willShowViewController:animated:.Теоретически вы можете добавить CATransition к анимации корневого представления.Но что-то намного более сложное, чем это (представление, которое отслеживает ваш палец при скольжении на экран и т. Д.), И вам, вероятно, придется написать свой собственный контроллер и управлять своими собственными представлениями.

Но вы должнывсе еще читайте Apple View Controller Руководство по программированию для iOS и спецификации NSNavigationManager, пока вы не впустите их в полноту.Было бы трудно найти лучший шаблон для создания вашего дизайна.

0 голосов
/ 11 сентября 2011

Второй UINavigationController.И да, вы можете использовать свою пользовательскую панель навигации.

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