2013-04-08 2 views
1

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

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

Я не могу использовать отступ, потому что я не знаю, на что ссылаться на уровне раскадровки. Как мне изменить назначение segue, чтобы вернуться туда, откуда мы пришли?

ответ

0

В этом типе ситуаций проще всего просто определить общую «поп» раскручивать SEGUE, что все контроллеры вида будут осуществлять как так:

- (void)pop:(UIStoryboardSegue *)segue;

Тогда, поскольку каждый контроллер вида имеет это разматывание SEGUE определяется, навигационный контроллер будет смотреть на стек навигационной системы в обратном порядке и раскручиваться до первого, который реализует желаемый сегмент. Это даст вам возможность полностью расслабиться в вашем навигационном стекле.

Недостатком этого подхода является то, что вам может понадобиться дополнительный сегмент, если вы хотите вернуться к определенному контроллеру.

EDIT:

Я просто хочу отметить этот метод работает в раскадровку, а также, просто добавьте exit SEGUE и подключить каждый контроллер представления в pop:.

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

+0

Я не пользуюсь навигационным контроллером. Это имеет значение? – jimijon

+0

Да, чтобы правильно развязать 'UINavigationController', нужно использовать. Однако не должно быть сложно использовать его в вашей ситуации и поддерживать те же функции. –

+0

Я закончил писать второй пользовательский отступ. Я добавил жест в контроллер, который я перетащил в свой контроллер. Затем я выбрал свой новый сеанс и смог провести там контроль. – jimijon