Kürzlich habe ich mit CGAffineTransform
und CATransform3D
auf Ansichten und Ebenen gearbeitet. Wenn ich die Transformation auf Ebenenebene und insbesondere auf Ansichtsebene anwende, sollten die Frames verknüpfter Ansichten nicht automatisch aktualisiert werden. Betrachten Sie beispielsweise folgendes Layout |H:[ViewA]-[ViewB]|
. Wenn ich Transformation nur auf ViewA
anwende.CGAffineTransform hat keinen Einfluss auf das automatische Layout
//We can either
ViewA.transform = CGAffineTransformMakeScale(1.5, 1.5)
ViewA.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.0)
sollte nicht ViewB
Auto Adjust es rect da ViewA
Höhe, Breite oder Position nach der Transformation verändert hat. Ich habe auch versucht
self.view.layoutIfNeeded()
danke dir richtig, ich verpasste das in der Dokumentation .. Eigentlich habe ich den Rahmen protokolliert und ich bekam das skalierte Ergebnis, so dass ich verwirrt wurde, dass Rahmen chaging aber nicht die damit verbundenen Ansichten. Kurioserweise gibt es eine Methode, die Transformation in Identität zu verwandeln und diese Differenz auf den Frame anzuwenden. – Azerue