2016-09-25 4 views
1

Я работаю в раскадровке, а также программно делаю некоторые вещи. Во-первых, я создал viewController controller, который является страницей входа (первое представление) программно. Но в раскадровке у меня есть NavigationController, корень которого ViewController. Все (методы forgotPassword и loginDidFinish) работал нормально, за исключением того, что ViewController был просмотрен до controller сразу после запуска приложения.Представление и нажатие viewcontrollers в swift 3.0

Таким образом, я изменил корень NavigationController на controller, и после этого мои функции не работают. Я пробовал несколько вещей, таких как удаление navcontrol в раскадровке и т. Д. Вы можете увидеть мой проект здесь: https://github.com/ardulat/SPE

+0

извините, забыл обновить репозиторий из ссылки –

+1

Попробуйте удалить 'опция первоначального вида controller' или просто выберите стрелку слева и удалить его из навигационного контроллера это раскадровка. И если вы создаете loginVC программно, то у вас должен быть некоторый код, вероятно, в 'appDelegate didFinishLaunchingWithOptions function'. – mikle94

+0

@ mikle94 не работал для меня –

ответ

0

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


у меня есть два контроллера просмотра в моем проекте (LoginViewController.swift и MainViewController.swift):

enter image description here


Так что в моей раскадровке создать два ViewControllers, первый встроенный с NavigationController я поставил SEGUE от моего первого ViewController ко второму ViewController:

enter image description here


Затем я даю название группе, которую я создал следующим образом:

enter image description here


И для того, чтобы перемещаться от Логина к Main ViewController, я называю метода performSegue внутри loginButtonTapped действия, которое срабатывает, когда кнопки Войти прикосновения ,

LoginViewController.swift:

class LoginViewController: UIViewController { 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    } 

    @IBAction func loginButtonTapped(_ sender: AnyObject) { 
    // TODO: validate your login form 

    performSegue(withIdentifier: "LoginToMain", sender: nil) 
    } 


} 
+0

Это довольно очевидно, а не то, что я не могу решить. –