web-dev-qa-db-de.com

Der Warnrahmen für "Navigationsleiste" wird zur Laufzeit in XCode 8 Swift 3 unterschiedlich angezeigt

Vor dem Upgrade auf XCode 8 ist dieser Fehler in diesem Fall nicht aufgetreten. Ich habe verschiedene Navigationscontroller. Für alle sehe ich einen Fehler Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375. In der Realität haben diese Navigationscontroller Navigation bar nicht. Navigation bar ist für Unteransichten vorhanden. Jedenfalls konnte ich es lösen, indem Sie das Kontrollkästchen Shows navigation bar in Attributes inspector abhaken. Aber leider erscheint diese Warnung jedes Mal wieder, wenn ich Main.storyboard wieder öffne. Auch wenn ich auf das gelbe Dreieck und dann auf die Update-Frames klicke, passiert nichts. Irgendwelche Ideen?

 enter image description here

137
Danny

Die Warnung wird ausgeblendet, wenn Sie die Eigenschaft "Simulierte Größe" in "Freeform" ändern. 

153
Kai

Wie bereits erwähnt hier können Sie dies beheben, indem Sie die Option zum Anpassen der Scrollview-Einfügungen aktivieren/deaktivieren.

34
buildsucceeded

Ich habe von Ansicht als geändert: iPhone 6S zu iPhone 5S, dann zurück zu iPhone 6S und Xcode hat alle Änderungen vorgenommen, um die Warnung zu entfernen.

14
negersiu

Bei Xcode 8.3.1 hat das funktioniert. Nach dem Neustart von Xcode würde es trotzdem funktionieren.

 enter image description here

  1. Wählen Sie Navigation Controller

 enter image description here

  1. Gehe zum Größeninspektor

 enter image description here

  1. Ändern Sie die simulierte Größe in Freeform

 enter image description here

  1. Ändern Sie die simulierte Größe wieder in "Fest"

 enter image description here

  1. Dann verschwinden die Warnungen.

 enter image description here

12
guoc

Um dieses Problem zu umgehen, habe ich das Main.storyboard manuell bearbeitet, indem Sie "falsch platziert" in folgendem entfernt haben:

<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">

Ein Hack, aber es ist schön, keine Warnungen anstelle von 1 zu haben :)

7
Jensie

Klicken Sie unten links in Ihrem Storyboard auf "Anzeigen als", wählen Sie eine andere Gerätegröße aus, klicken Sie erneut darauf und wechseln Sie zu der Gerätegröße, mit der Sie begonnen haben. Das hat bei mir funktioniert.

6
colby

Ich habe alle oben genannten Vorschläge ausprobiert, aber es schien nicht zu funktionieren. Ich denke, es könnte ein schwerwiegenderer Fehler sein. 

Ich habe einen Fehler mit dem Apple Bug Reporter (Link: https://bugreport.Apple.com/logon ) protokolliert. Wenn Sie dasselbe tun möchten, verweisen Sie bitte auf Fehler: 31355220, damit Apple ihn zusammenfassen kann . Je mehr Menschen dies melden, desto mehr Informationen werden sie zur Behebung dieses Ärgernisses benötigen. 

3
Mobile Bloke

Bis Xcode 8 gepatcht ist, können Sie die Option "Anzeigen als:" auf "iPhone SE" setzen, um die Warnung zu löschen. Nicht ideal, funktioniert aber jetzt.

3
nekonari

Ich konnte das Problem vollständig beseitigen, indem ich die simulierte Größe des View-Controllers auf Freeform und dann die Breite von 375 bis 320 einstellte. 

2
templeman15

für mich bestand das Problem darin, dass ich die untere Leiste bei Push (mit IB-Checkbox) versteckte. 

ich musste 'none' in der 'bottom bar' Option auswählen:

 enter image description here

1
Radu Ursache

Hatte das gleiche Problem, ich habe das Problem behoben:

Erweitern Sie die Fehlerinformationen und klicken Sie auf das Warnungsdetail. Xcode sollte dann automatisch die Maß-/Positionseinstellungen öffnen. Ersetzen Sie den aktuellen Wert durch den in den Warnungsdetails vorgeschlagenen Wert.

 enter image description here

Vergewissern Sie sich im Wesentlichen, dass die Größe in Ihrer Laufzeit der Größe entspricht, die Sie im Größeninspektor angegeben haben.

Sie können auch auf das Symbol neben dem von Ihnen geposteten Bild klicken (das gelbe Dreieck mit weißem Kreis. Manchmal ist es ein rotes Kreissymbol), dann werden Optionen zur automatischen Behebung/Anpassung der Probleme angezeigt.

 enter image description here

Ich habe die Aktualisierungsbedingungen-Option gewählt und die neuen Bedingungen entsprechend angepasst.

1
user2027373

Okay, es sieht so aus, als hätte ich das Problem behoben. Hier ist was ich getan habe. 

Wählen Sie wie gewohnt Update-Frames aus. Öffnen Sie eine andere Datei und klicken Sie erneut auf die Storyboard-Datei. Wenn dies nicht funktioniert, starten Sie Xcode neu. Es sieht so aus, als würde es intern aktualisiert werden, aber die Benutzeroberfläche des Schnittstellen-Generators steckte manchmal fest. 

0
GregP

Bitte ändern Sie die Vorschau Ihres Geräts in xcode für View Controller und kompilieren Sie und überprüfen Sie Warnungen ...

Xcode 8 ist ein bisschen fehlerhaft. Der Interface Builder hat ein beliebiges Nein zurückgesetzt, was sich auf alle enthaltenen Ansichten auswirkt. __ Ändern Sie Ihr Vorschaugerät.

0
Aks