Push segue from button doesn’t work

First of make sure your source controller is embedded inside a navigation controller, otherwise push segues don’t work.

But, in my case, even after that clicking the button wouldn’t change the view. What I discovered is that messed up auto layout constraints can do that. If in doubt remove all your constraints and try your segue like that.