2012-11-08 10 views
5

chcę obrócić ImageView stosując następujący kod:dlaczego CGAffineTransformRotate w autolayout przesunie animowany widok?

[UIView animateWithDuration:.25 animations:^{ 
    self.imageView.transform = CGAffineTransformRotate(self.plusView.transform, M_PI_4); 
}]; 

przewodowy jest to, że: jeśli uruchomić ten kod bez układu auto, wszystko jest w porządku. ale gdy używasz autolayout, widok obrazu przesuwa piksel przed zrobieniem rotacji, dlaczego?

Odpowiedz

4

Podczas korzystania z automatycznego układu w Xcode 5, należy dodać wiązanie, aby naprawić poziome centrum i pionowe centrum obrazu w jego kontenerze. Jeśli używasz storyboardów, można to łatwo zrobić za pomocą opcji ograniczeń. Będziesz także musiał poprawić szerokość i wysokość za pomocą wiązań, jeśli nie chcesz, aby obraz był automatycznie zmieniany.

Pin the center of a view with constraints in Storyboard

Fix the size of a view with constraints in Storyboard

0

nie mam reputacji skomentowania odpowiedzi chazzwozzer za (moje konto zostało zresetowane z ostatnich zmian w usłudze Facebook login). Ta odpowiedź sprawdziła się dla mnie ... przez umieszczenie kontrolki, która była przekształcana na UIView, który miał różne ograniczenia. Następnie transformacja, która była transformowana, jest ustawiana w tym widoku w pozycji poziomej i pionowej.

FYI .. przesunięcie po transformacji NIE wystąpiło później w systemie iOS 8 .. tylko w systemie iOS 7.1.

Powiązane problemy