I am under the impression you have already decided where you want to put the logic to decide whether to show one view or another. viewWillAppear is likely the wrong place because your interface xib file has already been loaded so any way you look at it you'd have to load a new UI at least some of the time.
The best solution is probably for the code that is loading the UIViewController with the logged in UI to figure out if login needs to happen, and load an entirely different UIViewController for login, if that's the case.
The login view controller could then proceed to load the original view controller if login succeeds.