Swift - постоянный просмотр контроллера Segue (вне навигационного контроллера) - PullRequest
1 голос
/ 07 января 2020

Возникли проблемы с постоянным перемещением одного из контроллера вида на другой. Кажется, что у всех нормальных сегментов есть опция «go back».

Я знаю, что могу вставить V C в контроллер навигации и создать собственный переход, который переписывает иерархию / изменения root V C

class ReplaceSegue: UIStoryboardSegue {

    override func perform() {
        source.navigationController?.setViewControllers([self.destination], animated: false)
    }
}

Но я хочу избегать контроллера навигации, так как это приведет к путанице, когда я добавлю SWRevealViewController позже.

Можно / нужно изменить раскадровку V C (за пределами AppDelegate, что есть)?

Спасибо - извинения, если это вопрос для новичка

1 Ответ

1 голос
/ 07 января 2020

Вы можете либо изменить rootViewController вашего главного окна:

self.window.rootViewController = vc

, либо вы можете просто установить v c modalPresentationStyle в полноэкранный режим (здесь нет «go back»). сам по себе, только вы можете отклонить его, вызвав dismiss)


let vc = UIViewController()
vc.modalPresentationStyle = .fullScreen

или из раскадровки измените его стиль представления на полноэкранный.

...