2016-12-21 4 views
0

Ich bin neu in Xcode und IOS-Programmierung und bin eine App mit Swift erstellen. Ich bin auf ein eigenartiges Problem gestoßen, wenn ich meine App auf dem Emulator starte, die Abmessungen sehen gut aus (Höhe und Breite), aber auf dem realen Gerät sind sie sowohl in Länge als auch Breite zu kurz. Was ich will ist meine Subview den Bildschirm vollständig auf meinem I-Phone-Gerät zu decken, wie es auf dem Emulator tut. Die Subview ist der orange Hintergrund UIColor, dass Sie darunter sehen, beginnt direkt unterhalb der UISearchBar und es soll bedecken Sie den ganzen Bereich darunter. Sie können den Unterschied unten sehen: das 2. Bild ist der Emulator beachten Sie, wie die Unteransicht Breite ist die gleiche wie die UISearchBar und das 3. und letzte Bild ist von meinem realen Gerät und sehen, wie die SubView-Breite nicht ist so breit wie die Suchleiste. Irgendwelche Vorschläge wären großartig. Auch wie ich vor dem orangefarbenen Hintergrund sagte ist eine Ansicht unter der Hauptansicht und es heißt Registration_View. Ich möchte es so lang und breit wie die Originalansicht machen, aber starte es unter der SearchBar, mit der ich bereits arbeite. Irgendwelche Vorschläge wären großartig. Dies ist, was ich in meinem Code und ich habe Auto-Layout aufIOS Xcode Subview deckt nicht alle Bildschirm in realen Gerät

@IBOutlet weak var Registration_View: UIView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     Registration_View.backgroundColor = UIColor.orange 
    } 

How it looks on the emulator

Wie es auf dem Emulator sieht das ist toll How it looks on the emulator Wie es auf meinem Gerät Breite und Länge sieht kurz

+0

Was haben Sie mit den automatischen Layout-Einschränkungen gemacht? – Ro4ch

+0

Basierend auf der Auflösung der Bilder scheint es, dass Sie einen Simulator eines 4,7-Zoll-Geräts verwenden und Ihr tatsächliches Gerät 5,5 Zoll ist. Daher denke ich, dass Sie die Ansicht mit fester Breite (gleich 4,7 Zoll Bildschirm) eingeschränkt haben. Sie sollten stattdessen eine flexible Breite mit festen Rändern (gleich 0) für die Superview verwenden. – Jiri

+1

Xcode zeigt normalerweise einen separaten Constraint-Knoten in der View-Hierarchie an, den ich nicht sehe. Das automatische Layout zu aktivieren ist nicht genug. Sie müssen tatsächlich einige Einschränkungen hinzufügen. – dfd

Antwort

3

Sie müssen Autolayout verwenden und View-Constraints setzen, um 0 Rand von superview führen und nach unten und unten zu haben.

Verwandte Themen