Wie erkennt man die Orientierungsänderung nach der Verwendung von Swift 3?UIView-Rahmen wird nach der Orientierungsänderung nicht aktualisiert
Ich muss es nach der Änderung erkennen, um die Rahmengröße zu berechnen.
EDIT:
fragte ich diese Frage, weil ich wie in dieser Frage Blick auf Orientierungsänderung neu zeichnen müssen: Can't get background gradient to fill entire screen upon rotation
Ich weiß nicht, wie Antwort zu implementieren, die als eine richtige Antwort gekennzeichnet ist.
habe ich versucht, eine andere Antwort
self.backgroundImageView.layer.sublayers?.first?.frame = self.view.bounds
aber es funktioniert nicht.
In viewDidLoad()
Ich habe
let color1 = UIColor(red: 225.0/255.0, green: 210.0/255.0, blue: 0.0/255.0, alpha: 1.0).cgColor
let color2 = UIColor(red: 255.0/255.0, green: 125.0/255.0, blue: 77.0/255.0, alpha: 1.0).cgColor
let gradientLayer = CAGradientLayer()
gradientLayer.colors = [color1, color2]
gradientLayer.locations = [ 0.0, 1.0]
gradientLayer.frame = self.view.bounds
self.view.layer.insertSublayer(gradientLayer, at: 0)
__A .__ Sie können sicher sein, die richtige Ansicht-Hierarchie erstellen und versuchen, nicht die Benachrichtigung Kette zu bremsen, die unterstützt durch iOS automatisch; oder __B.__ Sie können "UIDeviceOrientationDidChangeNotification" abonnieren und die Änderungen der Ausrichtung abhören und Ihre benutzerdefinierte Ansicht aktualisieren, wenn dies erforderlich ist. – holex
siehe meine Antwort..Es löst Ihr Problem –