iPhone "" kilidini açmak için kaydırın; animasyon
Apple uygulanan nasıl öğrenecem "kilidi açmak için kaydırın" ("kapalı" aynı olan başka bir örnektir) animasyon güç için slayt?
Maske - ama maskeleme animasyon çeşit performansı artırmak için iPhone OS kullanılamaz düşündüm.
Onlar kullanmış olabilir bazı özel API etkisi (SuckEffect gibi) var mı? Etkisi spot lamba türü? Bazı Temel Animasyon şeyi?
Edit: Kesinlikle fotoğraf bir dizi değil. Plıst bir değer ya da bir şey düzenlemek örnek gördüm ve jailbreak iPhone dizesini özelleştirmek.
CEVAP
Sadece Temel Animasyon kullanılarak yapılmış, bir katman üzerinde maske katmanı metin görüntüleme animasyon olabilir.
Bu herhangi bir düz UİViewController deneyin (yeni Güncellemelerinden bir proje dayalı başlayabilirsinizGörünüm tabanlı bir uygulamaproje şablonu), ya da böyle büyük mükafat projem yakala here:
CALayer.mask
Bu özellik iPhone OS 3.0 ve sonraki sürümlerinde kullanılabilir olduğunu unutmayın.
- (void)viewDidLoad
{
self.view.layer.backgroundColor = [[UIColor blackColor] CGColor];
UIImage *textImage = [UIImage imageNamed:@"SlideToUnlock.png"];
CGFloat textWidth = textImage.size.width;
CGFloat textHeight = textImage.size.height;
CALayer *textLayer = [CALayer layer];
textLayer.contents = (id)[textImage CGImage];
textLayer.frame = CGRectMake(10.0f, 215.0f, textWidth, textHeight);
CALayer *maskLayer = [CALayer layer];
// Mask image ends with 0.15 opacity on both sides. Set the background color of the layer
// to the same value so the layer can extend the mask image.
maskLayer.backgroundColor = [[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.15f] CGColor];
maskLayer.contents = (id)[[UIImage imageNamed:@"Mask.png"] CGImage];
// Center the mask image on twice the width of the text layer, so it starts to the left
// of the text layer and moves to its right when we translate it by width.
maskLayer.contentsGravity = kCAGravityCenter;
maskLayer.frame = CGRectMake(-textWidth, 0.0f, textWidth * 2, textHeight);
// Animate the mask layer's horizontal position
CABasicAnimation *maskAnim = [CABasicAnimation animationWithKeyPath:@"position.x"];
maskAnim.byValue = [NSNumber numberWithFloat:textWidth];
maskAnim.repeatCount = HUGE_VALF;
maskAnim.duration = 1.0f;
[maskLayer addAnimation:maskAnim forKey:@"slideAnim"];
textLayer.mask = maskLayer;
[self.view.layer addSublayer:textLayer];
[super viewDidLoad];
}
Görüntüleri bu kod tarafından kullanılır:
Silmek için kaydırın ve "Daha&quo...
"açmak" eşleşen bir işlev iş...
Android Studio açmak için hata " v...
Nasıl crontab dosyasını açmak için edi...
Kullanım " için tamam mı;klasik" ...