It seems you have ambiguous constraints, and so some parts of your interface (the "Email" button, the UISwitch, etc.) are only appearing some of the time. You need to add more constraints so there is no more ambiguity.
About Ambiguous Constraints
At launch time, and again each time you rotate the device and the interface rotates to compensate, layout occurs. This causes the position and size of your views to be recalculated based on constraints. If your layout works only some of the time, as you say - things are wrong when the app starts, but then they seem correct after you rotate (and layout is performed again) - that is usually a sign that you have ambiguous constraints. This means that your layout is underdetermined by the constraints you've provided. The runtime doesn't know what to do (it doesn't have enough information), and so it may do different things each time layout is freshly performed.
When you have ambiguous constraints, you don't get any notification in the console as the app runs. Thus, ambiguous constraints can escape your notice. This problem is particularly acute if your constraints are supplied in code. A useful trick is to pause your app in the debugger and type this at the console command line (and hit Return):
(lldb) po [[UIWindow keyWindow] _autolayoutTrace]
If any views have ambiguous layout, they will be clearly marked in the response from the runtime.
If your constraints are all formed in Interface Builder, Xcode 5 does a great job giving you warnings of the problem. Rule number one should be: if you see any warnings, pay attention! Work on your constraints until there are no more warnings in Interface Builder. Then, and only then, run the app.