Ich lerne, wie man eine iOS App ohne Interface Builder (d. H. Storyboards, XIBs, etc.) erstellt. Unten ist die grundlegende App-Delegat-Klasse, mit der ich arbeite. Das Problem ist, dass der UIWindow
bei der Anzeige nicht den gesamten Bildschirm des Geräts ausnutzt (siehe angehängter Screenshot). Dies geschieht bei allen Geräten und Simulatoren, mit denen ich teste. Warum wird nicht der Vollbildmodus verwendet?Manuell erstellte UIWindow ist falsch Größe
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
lazy var window: UIWindow? = {
debugPrint("AppDelegate: Creating Window")
let screen: UIScreen = UIScreen.mainScreen()
let window: UIWindow = UIWindow.init(frame: screen.bounds)
window.backgroundColor = UIColor.whiteColor()
return window
}()
lazy var rootViewController: ShapesViewController = {
debugPrint("AppDelegate: Creating Root View Controller")
let rootViewController = ShapesViewController.init(nibName: nil, bundle: nil)
return rootViewController
}()
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
debugPrint("AppDelegate: applicationWillEnterForeground")
window?.rootViewController = rootViewController
window?.makeKeyAndVisible()
return true
}
}
Die ShapesViewController ist leer, ich habe sogar den Root-View-Controller in ein einfaches altes UIViewController-Objekt geändert, und ich habe das Gleiche bekommen: Ich habe den Beispielcode nur ausprobiert, um irgendwelche Seltsamkeit auszuschließen, und es sieht genauso aus: – macinjosh
@macinjosh Vielleicht sollten Sie den Beispielcode in einem neuen einfachen Projekt ausprobieren. Haben Sie auch die main.storyboard-Datei gelöscht? – dvdblk