172 похожих чатов

Господа, добрый день! В сториборде у меня 2 независимых блока экранов.

Первый блок – авторизация. Второй блок – таббар с контентом в табах. Сейчас настал момент их связать логикой. До этого я переключался между комплектами путем установки Initial View Controller, вручную.

Мне нужно после успешной авторизации переключаться на таббар, без возможности вернуться на блок авторизации кнопкой назад из навбара. А также, нужно в одном из экранов таббара по кнопке (логаут) возвращаться на блок авторизации.

Я начал с логаута, через код:
self.view.window?.rootViewController = loginVC
self.view.window?.makeKeyAndVisible()

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

Как правильно выстроить навигацию для моей задачи?

5 ответов

10 просмотров

1. Растащи на несколько сторибордов 2. Посмотри что такое инициализация с ксиба 3. Переключай рут по необходимости. Либо флоу авторизации, либо основной

Spirit- Автор вопроса
Вовка
1. Растащи на несколько сторибордов 2. Посмотри чт...

По поводу рута – я смог попасть с блока таббара на блок логина с помощью кода: let nav = LoginNavigationController(rootViewController: loginVC) self.view.window?.rootViewController = nav Указал навконтроллеру из блока логина кастомный навконтроллер и указал этот навконтроллер как рут вью контроллер. Теперь надо вернуться на таббар после успешной авторизации. Если посмотреть на скриншот сториборда, то он в иерархии идет первым, а потом под ним только навконтроллеры. Я сначала попробовал таббар выбрать в качестве рут вью контроллера, но он не является вью контроллером. Тогда как мне перейти на него?

Spirit
По поводу рута – я смог попасть с блока таббара на...

Ты можешь инициализировать по идентификатору. У каждого контроллера в сториборде есть идентификатор. И через него можно инициализировать контроллеры.

Spirit- Автор вопроса

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
5
Карта сайта