2016-08-15 9 views
17

Mit meinem Projekt habe ich den folgenden Code verwenden, um meine Bilder in abgerundeter Form zu machen:ios swift 3 xcode8 beta gerundet Imageview

profileImage.layer.cornerRadius = profileImage.frame.size.width/2 
profileImage.clipsToBounds = true 

ich auch contrains für mein Bild, um es zu machen width = hight und andere Constraints .

Nach ugrading mein Projekt Xcode 8 Beta und rasche 3. Alle Bilder Ansichten, die ich abgerundeten gesetzt wurden verschwunden, und wenn ich den Code zu entfernen für die es gerundet oder entferne ich alle Constraints sie wieder erscheinen .
Aber ich brauche sie immer noch abgerundet werden. Jeder kann mir helfen, das Problem zu beheben. Danke

+0

Überprüfen Sie im Debugger, was das val "profileImage.frame.size.width". Das Layout wurde zu diesem Zeitpunkt möglicherweise nicht fertiggestellt. Daher kann der Eckenradius auf einen ungültigen Wert festgelegt werden. Hast du auch gleichzeitig auf iOS 10 aufgerüstet? – Codo

+0

Apple merkt auch in den Versionshinweisen an, dass es Probleme mit dem neuen IB-Dateiformat gibt (die größtenteils in Beta 5 behoben wurden). In meinem Storyboard änderte sich ständig die Sichtweise und die Einschränkungen. – jjatie

+0

Mit der cuurent-Version von xcode funktioniert es gut, nach dem Upgrade auf xcode beta 5 verschwanden alle Bilder, die ich gerundet habe. Ich stelle immer sicher, dass die Breite = Höhe ist. Ich setze das mit Constrains. –

Antwort

26

Ich hatte das gleiche Problem, die Lösung war nur eine Zeile Code vor Ihrer Schicht Modifikationen zu bewegen. Versuchen Sie, Layout-Änderungen gelten:

self.view.layoutIfNeeded() 

vor Ihrem Code:

profileImage.layer.cornerRadius = profileImage.frame.size.width/2 
profileImage.clipsToBounds = true 

ODER

Ort, um Ihren Code im Zusammenhang mit Frames/Schichten in viewDidLayoutSubviews() Methode:

override func viewDidLayoutSubviews() { 

    profileImage.layer.cornerRadius = profileImage.frame.size.width/2 
    profileImage.clipsToBounds = true 

} 
+0

Vielen Dank Pedrouan. Es funktioniert gut. –

+1

Nur einen ganzen Tag verschwendet, um dieses Problem zu beheben: | – tufyx