2016-03-06 19 views
11

Mam prosty UIImageView w moim widoku, ale nie mogę znaleźć żadnej funkcji w dokumentacji Apple, aby zmienić Współrzędne UV tego UIImageView, aby przekazać mój pomysł do ciebie, ten plik GIF powinien podejrzeć, jak zmiana współrzędnych 4 wierzchołków może zmienić sposób wyświetlania obrazu na ostatecznym UIImageView.Czy są jakieś współrzędne UV (lub podobne) dla UIImageView?

Próbowałem również znaleźć rozwiązanie online (inne niż dokumentacja) i nie znalazłem żadnego rozwiązania.

Enter image description here

używam Swift.

+0

Co próbujesz osiągnąć? Patrz [The XY Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) – jtbandes

Odpowiedz

7

Możesz osiągnąć tę animację za pomocą UIView.transform lub CALayer.transform. Będziesz potrzebował podstawowej geometrii do konwersji współrzędnych UV na CGAffineTransform lub CATransform3D.

Założyłem, że transformacja będzie wystarczająca, ponieważ w twojej animacji transformacja jest afiniczna (równoległe linie pozostają równoległe). W takim przypadku, 3 wierzchołki są wolne - 4. jeden jest ograniczony przez inne 3.

Jeśli masz 3 wierzchołki, można obliczyć affine macierzą transformacji przy użyciu: Affine transformation algorithm

Aby osiągnąć powtarzać nieskończoną, użyj UIImageResizingMode.Tile.