Rodar UIImageView em torno do seu ponto central?
Eu tenho um png transparente dentro de um UIImageView (self.myImage
) que eu quero girar em torno de seu ponto central. O código deve ser bem simples:
[self.myImage.layer setAnchorPoint:CGPointMake(0.5, 0.5)];
[UIView animateWithDuration:1.0 animations:^{
[self.myImage setTransform:CGAffineTransformMakeRotation(angle)];
}];
A imagem gira na velocidade / tempo corretos e no ângulo direito, mas sua posição é alterada. Aqui está um exemplo do que está acontecendo:
O quadrado cinza é apenas para mostrar a posição na tela. O png transparente (contido em um UIImageView) é a outra figura. As linhas pontilhadas brancas mostram o centro do UIImageView. O lado esquerdo da imagem mostra a posição original da imagem, o lado direito mostra a imagem depois de ser girada com o código acima (que é deslocado um pouco para baixo para a direita). Os círculos preto e branco estão no centro do arquivo de imagem.
Existe algo que eu estou sentindo falta? Tanto quanto eu entendo, a primeira linha acima não é necessária porque esses são os padrões. Preciso definir / desmarcar algo no storyboard / programaticamente?