2014-04-01 7 views
0

Хорошо, я действительно не понимаю, какая большая победа в том, что навигационные контроллеры завершают мои взгляды и пытаются перетащить сегменты на мои раскадровки. Уверен, что вы получаете преимущество iOS, автоматически добавляя кнопку «Назад», когда вы нажимаете/всплываете из стека, но для чего-либо, кроме простого приложения, я даже не забочусь об этом!iOS Navigation Controller/Storyboard Segues Основной потенциал роста?

Моя цель состоит в том, чтобы иметь 1 представление, фактически представляющее данную страницу. Затем просто перейти к программно другой вид использования:

ViewController *vc = [storyBoard instantiateViewControllerWithIdentifier:@"ViewController"]; 
[self presentViewController:modalYearPickerViewController animated:NO completion:nil]; 

или

ViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"]; 
[self.navigationController pushViewController:vc animated:YES]; 

Я понимаю, что для того, чтобы толкнуть с второго примера я должен был бы вид, чтобы быть обернуты в навигации View Controller, однако использование одного из этих методов не позволяет мне когда-либо создавать «segues», которые мне трудно справиться. Половина времени, когда я устанавливаю segue, iOS выдает ошибку, говорящую, что она не может выполнить, или segue не существует.

Много раз я прячу назад кнопки или на лету, меняя место, где «назад/назад» может управлять пользователем на основе предыдущих действий или экранов.

Ничего массивного Я здесь не хватает? Я довольно новичок в iOS, но я пришел из мира Интернета, где я привык к тому, чтобы легко перемещаться по экранам.

У кого-нибудь есть мысли?

enter image description here

EDIT: Вот мертвый простой пример решения. Когда я перехожу на страницу «подробности», я хочу, чтобы вместо главной мода была обратная кнопка на домашней странице.

http://andrewherrick.com/spike/nav_ios.zip

+0

Мои мысли, что вы делаете что-то не так, но из вашего описания неясно, что. Если вы получаете ошибки с segues, которые не существуют, у вас есть опечатка в названии. Ошибка с возможностью запуска segue - это несоответствие типа segue иерархии диспетчера представлений. Вам действительно нужно описать, что такое интерфейс вашего приложения, переход между представлениями и их действия. Большинство приложений имеют определенный смысл, вперед или назад (как и в Интернете) ... – Wain

+0

Привет, Уэйн, я обновил свой вопрос на простом примере. Мое приложение намного сложнее, чем эта самая навигация. Я хочу быть динамичной. Я просто хочу, чтобы иметь возможность просматривать или Модальные или скользить по мере необходимости динамически «на лету». – aherrick

ответ

1

Из вашей диаграммы, я бы ожидать:

В корне, у вас есть навигационный контроллер, который содержит Artists. Artists имеет modal segue до New Artist (ну, к контроллеру навигатора, содержащему его) и push-сегу до Artist Songs.

New Artist является корнем навигационного контроллера и имеет push-сегмент до Artist Songs. New Artist имеет Cancel и кнопку Done в навигационной панели.

Artist Songs должен быть настраиваемым (он может определить это сам), таким образом, что она имеет кнопку назад (всегда на основе этой модели, и автоматически обрабатывается) и Done кнопку, когда она выталкивается из New Artist (который завершает сохранение и отклоняет модальный, таким образом, вернув пользователя на Artists).

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

+0

Привет, спасибо за ваши мысли. Да, это в основном имеет смысл. Поэтому проблема, которую я думаю, связана с кнопкой «Назад» в песнях исполнителей «Я предполагаю, что это нужно будет добавить к программному обеспечению, чтобы я всегда возвращался к« Художникам ». Как вы это сделаете? – aherrick

+0

Я бы сказал, что он не всегда должен возвращаться к «Художникам», он должен вернуться туда, откуда вы пришли (отсюда кнопка «Готово», которая есть только там, где она находится на модальном уровне). Возможно, вам захочется выполнить прямо или вернитесь назад и добавьте информацию о художнике, которую вы забыли, когда вы впервые задали новые детали исполнителя ... – Wain

+0

Я имею в виду, что я хочу, чтобы она текла. Как только вы сохранили своего «нового художника», вы не сможете пройти Вернемся к этому экрану. Кнопка «done» просто заставит пользователя сделать дополнительный щелчок, чтобы вернуться к этому исполнителю, чтобы начать добавлять песни. – aherrick

Смежные вопросы