Meine App hat zwei Hauptansichten, die auf Orientierungsänderung eingeschaltet sind, die Ansicht im Hochformat sollte eine Navigationsleiste darüber haben (mein Code wird in einem getestet separate Anwendung, die funktioniert perfekt, so habe ich entweder falsch übertragen, drückte einige seltsame Option, die die Bar zur Laufzeit deaktiviert, oder das System ist nicht kompatibel mit der Landschaftsansicht Controller, der nicht mit dem Navigationscontroller verbunden ist), aber es nicht .Xcode Swift Navigationsleiste verschwindet, wenn Simulator läuft, aber nicht im Storyboard
PS: Das Etikett ändert es ist Wert auf die Zeichenfolge auf der Tabellenzelle, die gedrückt wird, und das Tier/mounth
Storyboard zeigt Navigationsleisten:
Screenshot zeigt Simulator ohne Navigationsleiste die Tabellenansicht im gebrochenen Projekt:
---- wollte diese Links posten, aber nicht genug Rufpunkte haben ----
Screenshot von resultieren aus einer Tabellenzelle klopfen, sollte einen Zurück-Pfeil in oben halten können
Screenshot aus dem Arbeitstestproject (die nicht die Ansicht enthält, die instanziiert wird, wenn das Gerät auf Landschaft orientiert), die zeigt, was die vorherigen Screenshot wie
aussehen sollte, ich werde auch meine AppDelegate Klasse zeigen, die den Hauptunterschied zwischen dem Arbeitsprojekt und dem zerbrochenen Projekt enthält:
var window: UIWindow?
var storyboard:UIStoryboard!
var initialViewController:UIViewController!
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
// Create rotation function and call it whenever the device is rotated
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(AppDelegate.rotated), name: UIDeviceOrientationDidChangeNotification, object: nil)
// Set default ViewController based on rotation
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
storyboard = UIStoryboard(name: "Main", bundle: nil)
// Declare InitialViewController as portrait to avoid NSInternalInconsistencyException
initialViewController = storyboard.instantiateViewControllerWithIdentifier("PortraitViewController")
// Declare initial view controller based on device orientation
if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation)){
initialViewController = storyboard.instantiateViewControllerWithIdentifier("PortraitViewController")
} else if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation)){
initialViewController = storyboard.instantiateViewControllerWithIdentifier("LandscapeViewController")
}
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
return true
}
/// Called when the screen is rotated
func rotated()
{
// if device is landscape show LandscapeViewController
if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation))
{
initialViewController = storyboard.instantiateViewControllerWithIdentifier("LandscapeViewController")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}
// if device is portrait show PortraitViewController
if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation))
{
initialViewController = storyboard.instantiateViewControllerWithIdentifier("PortraitViewController")
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
}
}
Verdammt, das ist sofort behoben. Ich werde meinen Fix veröffentlichen, um anderen in der Zukunft zu helfen. –