Несколько переходов push к одному контроллеру представления в раскадровке

У меня есть приложение в Xcode 4.6, которое использует раскадровки. Контроллер корневого представления встроен в контроллер навигации, и доступ ко всем контроллерам представлений в приложении осуществляется через push-переходы через контроллер навигации.

Я столкнулся с осложнением, когда хотел, чтобы один конкретный контроллер представления (называемый фотографиями) был доступен через push-переход двумя разными контроллерами представления. Я закончил с тем, что оказалось навигационным контроллером внутри навигационного контроллера в контроллере фотографий после того, как я добавил второй переход. Цель состоит в том, чтобы иметь (на фотографиях) одну панель навигации с кнопкой закрытия, которая (при нажатии) возвращается к любому из двух контроллеров представления, представленных контроллеру представления фотографий. Я несколько новичок в iOS, и я не уверен, как лучше всего это сделать или как вообще справиться с этой ситуацией.

Вот изображение моей раскадровки для справки:

введите здесь описание изображения


person jac300    schedule 26.03.2013    source источник
comment
Можете ли вы объяснить, как вы настроили переходы? Я не вижу этой проблемы, если у меня есть две кнопки в контроллере корневого представления контроллера навигации, одна из которых переходит к следующему контроллеру в строке, а другая — к следующему за ним (а следующая в строке также переходит к последнему). Все работает нормально, есть только одна панель навигации, а кнопка «Назад» имеет название контроллера, который ее нажал.   -  person rdelmar    schedule 27.03.2013
comment
Я добавил изображение своей раскадровки, чтобы прояснить мою проблему.   -  person jac300    schedule 27.03.2013
comment
Это слишком размыто, чтобы читать имена. Является ли тот, что с двумя синими прямоугольниками, контроллером панели вкладок? Если это так, вы нажимаете из контроллера панели вкладок или этот проблемный контроллер является одним из его контроллеров представления? Является ли только первый контроллер слева навигационным контроллером?   -  person rdelmar    schedule 27.03.2013
comment
Извините за путаницу - тот, что с двумя синими прямоугольниками, является обычным контроллером представления с панелью вкладок в нем (он установлен как делегат контроллера панели вкладок). Я создал переход от одной из кнопок панели вкладок к проблемному контроллеру представления. Все эти контроллеры являются частью одного и того же навигационного стека/встроены в один и тот же навигационный контроллер, происходящий от корневого контроллера, который является первым крайним слева. Когда я добавил второй переход из контроллера представления с панелью вкладок в проблемный контроллер, именно тогда у меня возникла проблема с двойной панелью навигации.   -  person jac300    schedule 27.03.2013
comment
Хммм... Я не могу дублировать твою двойную панель навигации. Вы на самом деле сделали переход непосредственно от кнопки панели вкладок к проблемному контроллеру или от контроллера - я не смог установить соединение напрямую с кнопки, Xcode не позволил бы этого. Если вы еще этого не сделали, вы можете попробовать удалить этот переход и переделать его, чтобы посмотреть, изменит ли это что-нибудь.   -  person rdelmar    schedule 27.03.2013


Ответы (1)


Вы действительно должны сделать это программно, используя SotyboardID. В каждом ViewControler всего несколько строк кода.

person BechD    schedule 20.01.2014