bir Belirtilen hız ile, sonsuza döndürmek bir görünüm sağlamak için bir yol var mı? Bir gösterge için bir şeye ihtiyacım var. Ben "sonsuza kadar" anlamına gelir bu garip Lxxxxx00ff sabiti (tam hatırlamıyorum) olduğunu biliyoruz.Görünümün sonsuza dek nasıl döndürülmesine izin verilir?
5
A
cevap
20
Sen (ben animasyon için repeatCount tesiste şamandıra olduğu yanlış hatırlamıyorsam) değerini yüzen için HUGE_VAL
kullanabilirsiniz. 360 derece (2 * M_PI radyan) üzerinde rotasyonlar çünkü eğer doğru sadece UIView animasyonlar kullanarak dönme bu tür oluştururken hatırlıyorum Eğer
CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.fromValue = [NSNumber numberWithFloat:0.0f];
animation.toValue = [NSNumber numberWithFloat: 2*M_PI];
animation.duration = 3.0f;
animation.repeatCount = HUGE_VAL;
[rotView.layer addAnimation:animation forKey:@"MyAnimation"];
imkansızdır: Kurulum animasyon için
Eğer +animationWithKeyPath:
yöntemi kullanarak CAAnimation nesnesi oluşturabilir hiç dönüş olmaksızın optimize edilmiştir.
0
bahse girerim ki:
-(void)animationDidStopSelector:... {
[UIView beginAnimations:nil context:NULL];
// you can change next 2 settings to setAnimationRepeatCount and set it to CGFLOAT_MAX
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStopSelector:...)];
[UIView setAnimationDuration:...
[view setTransform: CGAffineTransformRotate(CGAffineTransformIdentity, 6.28318531)];
[UIView commitAnimations];
}
//start rotation
[self animationDidStopSelector:...];
ok iyi bahis:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationRepeatCount: CGFLOAT_MAX];
[UIView setAnimationDuration:2.0f];
[view setTransform: CGAffineTransformMakeRotation(6.28318531)];
[UIView commitAnimations];
2
o çekirdek animasyon kullanmaz ama en azından sonsuza gerçekten çalıştığı için bu benim çözüm biraz hacky olduğunu ve kurulum çoklu animasyon adımlara gerektirmez.
...
// runs at 25 fps
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:1.0/25
target:self
selector:@selector(rotate)
userInfo:nil
repeats:YES];
[timer fire];
...
- (void)rotate {
static int rotation = 0;
// assuming one whole rotation per second
rotation += 360.0/25.0;
if (rotation > 360.0) {
rotation -= 360.0;
}
animatedView.transform = CGAffineTransformMakeRotation(rotation * M_PI/180.0);
}
İlgili konular
- 1. nodejs sonsuza dek: npm uygulamam nasıl çalıştırılır
- 2. Üretimdeki Phoenix'i Nasıl Çalıştırın Sonsuza dek
- 3. Elm Derleyici sonsuza dek çalışıyor, bilgisayar ısınıyor
- 4. Windows makinede sonsuza dek tüm düğüm modülünü nasıl kurabilirim?
- 5. Express js sunucusunu çalıştırırken sonsuza dek nasıl kullanılır
- 6. Android stüdyosunun sonsuza dek başlatılması (Gradle: Bağımlılıkları çöz: ': app: _debugCompile')
- 7. İptables'lerden postaya nasıl izin verilir?
- 8. LaTeX ile ilgili görüşleriniz ve sonsuza dek güncellensiniz.
- 9. Intellij Idea, maven bağımlılıklarını gidermek için sonsuza dek sürüyor
- 10. nodejs'in Sonsuza dek kullanılmasını sağlayan konsol.logs ekrana gelmek için
- 11. Düğüm uygulamasını http-sunucu ve sonsuza dek dağıtın
- 12. Ekspres js ile sonsuza dek harici ip dinlemiyor
- 13. Docker özel kayıt defteri durumu "Yeniden başlatma (1)" Sonsuza dek
- 14. Jenkins - Basit yapı pencerelerde tamamlanmaz. Sonsuza dek koşuyor
- 15. Belirli html etiketlerine nasıl izin verilir?
- 16. PostgreSQL veritabanına Uzaktan Erişim Nasıl İzin Verilir
- 17. gdb adresinde belirtilen talimatlara nasıl izin verilir?
- 18. Firefox'taki bağlantıların klavye odaklarına nasıl izin verilir?
- 19. Sıfır değerin tekrarlanmasına nasıl izin verilir?
- 20. DataGridViewComboBox - Herhangi bir değere nasıl izin verilir?
- 21. İsimsiz işlevlere izin verilir mi?
- 22. R parlak: Kullanıcıların işlemi durdurmalarına nasıl izin verilir? Ve uygulamayı arka uçtan nasıl durdurulur?
- 23. sonsuza
- 24. Sunucuya konumu güncelleştirmek için arka planda sonsuza dek bir Swift 2.0 uygulaması çalıştırın
- 25. Sonsuza: komut bulunamadı
- 26. Orta Güven'de Hangi Yansıma İzinlerine İzin Verilir?
- 27. HTML özellik adına hangi karakterlere izin verilir?
- 28. javascript regex: yalnızca ingilizce harflere izin verilir
- 29. Standart yineleyici işlemlerinin atmasına izin verilir mi?
- 30. PSR-2 if-statement - neye izin verilir?
iyi geliyor! ancak görüntüyü tam 390 derece döndürmek ve yuvarlanmaya devam etmek için animasyonu nasıl kurabilirim? – openfrog
@openfrog Bu doğru cevaptır. Görünümü, görünümü katmanını temel bir animasyonla açıkça döndürerek döndürürsünüz. Vladimir'in önerdiği şeyi yaparsanız, "yuvarlanmaya devam edecek". –