Ich habe eine imageView
innerhalb einer ovalView
mit Auto-Layout eingeschränkt.Falsche Frame-Position, wenn in ViewDidLayoutSubviews definiert
Innen viewDidLayoutSubviews()
, ich schaffe eine UILabel
let label = UILabel(frame: imageView.frame)
imageView.superview?.addSubview(label)
Der Rahmen des Etiketts zeigt etwas von Imageview off-zentriert.
Allerdings, wenn ich meinen obigen Code innerhalb viewDidAppear()
verschiebe, ist Label perfekt auf imageView zentriert, aber Benutzer sieht die Änderung, die unerwünscht ist.
Wie behalte ich meinen Code in viewDidLayoutSubviews()
und es funktioniert?
Sie bewusst sind, dass der Rahmen Einstellung der Ursprung ändert, oben links Anker Ansicht zu sein? Das heißt, Sie müssten die Hälfte der Etikettenbreite subtrahieren, um sie auf der x-Achse zu zentrieren. – LinusGeffarth
Warum funktioniert es in ViewDidAppear dann? – Kashif