Czy ktoś może mi powiedzieć jak obrócić obraz w ruchu kołowegoiphone obrót UIImageView
Odpowiedz
Jeśli masz na myśli „? Jak zrobić zdjęcie wykonaj kołową ścieżkę”, wtedy Pseudokod byłoby:
image.x = circleCentre.x + cos(angle) * circleRadius;
image.y = circleCentre.y + sin(angle) * circleRadius;
angle += 5;
This question prosi o to samo, chociaż innymi słowy. Odpowiedzi w tym pytaniu, a także w this question powinny zapewnić sposób animowania UIView (UIImageView jest po prostu podklasą tego) o jego centrum dla 360 stopni lub więcej.
Możesz obracać widok o pewną liczbę radianów, niezależnie od tego, czy jest to mniej niż pełny obrót, czy wiele wielokrotności pełnego obrotu, bez konieczności dzielenia obrotu na części. Przykład: poniższy kod przekręci widok raz na sekundę na określoną liczbę sekund. Możesz go łatwo zmodyfikować, aby obrócić widok o określoną liczbę obrotów lub o pewną liczbę radianów.
- (void) runSpinAnimationWithDuration:(CGFloat) duration;
{
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
rotationAnimation.duration = duration;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = 1.0;
rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
[myView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
na podstawie odpowiedzi mahboudz, można ustawić ją na nieskończenie spinu przez ustawienie:
rotationAnimation.repeatCount = HUGE_VALF;
Tworzenie animacji
- (CABasicAnimation *)spinAnimationWithDuration:(CGFloat)duration clockwise:(BOOL)clockwise repeat:(BOOL)repeats
{
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
anim.toValue = clockwise ? @(M_PI * 2.0) : @(M_PI * -2.0);
anim.duration = duration;
anim.cumulative = YES;
anim.repeatCount = repeats ? CGFLOAT_MAX : 0;
return anim;
}
dodać go do widoku
CABasicAnimation *animation = [self spinAnimationWithDuration:1.0 clockwise:YES repeat:YES];
[self.spinningView.layer addAnimation:animation forKey:@"rotationAnimation"];
Czym różni się ta odpowiedź z odpowiedzi @ mahboudz? Będziesz miał znacznie czystszy kod, jeśli większość twoich funkcji zwróci obiekty, zamiast tylko manipulować niektórymi obiektami tu i tam.
- 1. UIScrollView z UIImageView wyśrodkowany obrót po powiększeniu?
- 2. (iphone) UIImageView setImage: leaks?
- 3. iphone - pojedynczy UIImage wielu UIImageView?
- 4. iPhone Animacja "Wobbly" na UiImageView
- 5. iPhone: Najlepszy sposób na wykrycie końca sekwencji animacji obrazów UIImageView
- 6. Wymuś obrót w kierunku zgodnym lub przeciwnym do ruchu wskazówek zegara, aby wywołać CABasicAnimation z UIImageView
- 7. Współczynnik proporcji Autolayout dla UIImageView/UIView
- 8. C# Obrót obrazu
- 9. Obrót obrazu w Qt
- 10. Obrót pionowy legendy Matplotlib
- 11. Android Emulator - Ekran obrót
- 12. Python lista obrót
- 13. UIDynamik i obrót urządzenia
- 14. Obrót 3D - perspektywa
- 15. Obrót UIWebView na iPadzie
- 16. Android - Obrót ekranu fragmentu
- 17. Java - obrót obrazu
- 18. libgdx particleEffect obrót
- 19. Funkcja iOS UIImageView znika po obrocie M_PI_4
- 20. Gradient/cienie w UIImageView like Flipboard
- 21. Problemy z tworzeniem UIImageView opaque na iPhonie
- 22. Skalowanie/interpolacja UIImageView
- 23. UIImageView "zgniecenia" po CGAffineTransformMakeRotation
- 24. Swift UIImageView Rozciągnięty aspekt
- 25. Kolor UIImageView Border
- 26. Obracanie obrazu w UIImageView
- 27. jak przyciemnić UIImageView
- 28. Dodawanie UILabel do UIImageView
- 29. UIImageView wypełnienie UIView
- 30. Dotknij opcji UIImageView?
Prawdopodobnie jesteście zdezorientowani obrotem i rewolucją. Powyższe pytanie dotyczy rewolucji. – Biranchi