I have a push Segue with identifier "LoginSegue" that is meant to transition from "Login View Controller" to "View Controller."
Here is my storyboard:
and here is the Segue:
After a user successfully logs in, I call the following from within the LoginViewController:
performSegueWithIdentifier("LoginSegue", sender: self)
You dont have LoginViewController in the navigationController. If you push another viewcontroller in any viewcontroller which is not inside navigationController it will present modally.
You might have set LoginViewController as a rootViewController of a window programitically or make sure navigationController is initialViewController not the LoginViewController in storyboard.
You can always check if any view controller is in navigationController or not by simply:
print(self.navigationController) inside viewDidLoad method of view controller.