iphone - переход от одного вида к другому - PullRequest
0 голосов
/ 30 декабря 2010

Я начинаю с разработки для iphone и пытаюсь перейти от одного вида к другому.

У меня есть основной вид (NearestPhotosViewController), который в основном действует как меню для моего приложения.Затем у меня появляется второе представление (DisplayNearestPhotos).

Я пришел из веб (html) фона, поэтому я пытаюсь сделать это в терминах сети, нажав кнопку (ссылку) в представлении NearestPhotosViewController, чтобы затемотобразить представление DisplayNearestPhotos.

Я искал какой-то код, чтобы сделать это (я не думаю, что это так же просто, как делать equivelent в html).

Следующий код подключендо кнопки в моем представлении меню.

  -(IBAction)ButtonPressed:(id)sender
  { 
  DisplayNearestPhotos *views = [[DisplayNearestPhotos alloc] 
         initWithNibName:nil bundle:nil];
  [self presentModalViewController:views animated:YES];
  views.release;
  }

Приведенный выше код работает (он отображает второе представление), но я хотел бы знать, является ли это правильным способом сделать это?Если нет, как правильно перейти от одного вида к другому?

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 31 декабря 2010

Зависит от того, что вы пытаетесь сделать. Модальное представление хорошо для временного прерывания потока вашего приложения. Если вы пытаетесь создать согласованный поток представлений, имеющих детерминированный порядок, я бы использовал представления UINavigationController и push и pop в естественном потоке. Если у вас есть набор отличительных представлений, которые можно выбрать в любое время, подойдет UITabBarController. На самом деле все сводится к дизайну вашего приложения и тому, как вы хотите, чтобы пользователь взаимодействовал с вашим приложением.

Я бы сел и прочитал эту статью от Apple, чтобы выяснить, что у вас есть. Затем я бы сел и спроектировал , как будет лучше организовано ваше приложение.

Выйди и победи.

Дополнительная информация:

Контроллеры модального вида
Контроллеры навигации
Контроллеры панели вкладок

1 голос
/ 31 декабря 2010

Это зависит от вашего дизайна. Если ваше приложение имеет правильные потоки экрана, UINavigationController является хорошим вариантом. Используя это, вы можете перейти к другим экранам по нажатию кнопки. UINavigationController сам поддерживает стек экранов и предоставляет кнопку возврата для перехода к предыдущему экрану. Следовательно, легко поддерживать поток экрана. Если ваш дизайн имеет экраны, отличные от нормального потока экрана, вы можете использовать контроллер модального просмотра для представления экрана. Это не будет мешать движению экрана. например, если ваше приложение имеет корневой экран и вы хотите отобразить информационный экран, вы можете представить информационный экран с помощью контроллера модального представления. Метод, который вы используете, повлияет на анимацию экрана. Контроллер модального представления отображает экран снизу, а навигация - экран справа налево. Если вы хотите отображать различные экраны на панели вкладок, используйте UITabBarController. Также вы можете использовать комбинацию всех типов, указанных в вашем приложении.

1 голос
/ 31 декабря 2010

Я начал с разработки для iPhone с проекта three20 . Если вы посмотрите на пример приложения TTCatalog, вы увидите интересный шаблон, который они придумали, который должен понравиться людям с опытом веб-разработки.

Они устанавливают отображение «URL-адресов» для классов (в данном случае контроллеров представления) следующим образом:

TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"tt://catalog" toViewController:[CatalogController class]];
[map from:@"tt://photoTest1?" toViewController:[PhotoTest1Controller class]];
[map from:@"tt://photoTest2" toViewController:[PhotoTest2Controller class]];
[map from:@"tt://imageTest1" toViewController:[ImageTest1Controller class]];

Используя методы из проекта three20, вы можете установить "url", скажем, для UITableViewCell на tt://photoTest1, и вы получите представление PhotoTest1Controller, выданное на основной стек. Это довольно удобно и отличный способ начать (к тому же я нашел полезным просмотреть код и взял из него несколько замечательных шаблонов).

Надеюсь, это поможет!

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