Bir "Okuma listesine ekle" animasyon efekti nasıl oluşturulur?

Okuma listesine bir eleman eklediğinizde Safari'deki (iPhone) benzer bir animasyon efekti yapmaya çalışıyorum. App Store uygulamasından bir öğeyi indirmeye başladığında görünene benzer: İndirme işlemine başlamak için uygulama öğesi bağlantı noktasına düşer. İlk önce sekerek yukarı çıkıp iskeleye gider. Apple'ın işletim sistemlerinde kullandığı çok güzel bir etki.

Uygulamamda bu tür bir animasyon ile araç çubuğuma bırakmak istediğim bir görüntü görüntüsü var.

Eğer bunu yapan bir kişi varsa veya etkinin adını biliyorsa, lütfen bana nasıl yapacağımı söyleyin.

Teşekkür ederim.

1

1 cevap

"Okuma listesine ekle", telefonumda hiçbir animasyon göstermiyor ancak açıklamanızın nedeni, Safari'de (iPhone) "Arka planda aç" gibi görünüyor. Cevabım o animasyonu açıklıyor.


Birkaç ay önce böyle bir şey yazdım ve bir kısmı da yapılabilirken yapılabilir. Sorularınız bana daha fazla insanın nasıl yapıldığını bildiğini gösterdi. Yazılı bir blog gönderisi yazdım) sekme çubuğu öğesine aşağıdan bir görünümü canlandırın. Burada üst düzey yaklaşımı ve zorlukları anlatacağım ama bu yazıyla ilgili daha fazla bilgi edinebilirsiniz.


Animasyona içerik almak

If you choose to animate the view that is on screen down to the (in your case) tool bar then you will only have to access its layer. If you want the original view to remain and animate a visual copy (like the "open in background"-Safari animation) down to the bar item then you should create a new layer and draw the content of your layer into an image and set that image as the content of the layer that you are animating

Son pozisyonun hesaplanması

The start position of the animation is simply the frame of the view. The end position is very tricky since bar items (both tool bar items and tab bar items) are not UIView subclasses and doesn't have a public view property. This causes problems when you want to shake the bar item later on.

Bazı basit buluşsal yöntemler kullanarak son konumun görsel bir yaklaşımını yapmaya karar verdim. Eğer daha önce tek bir çubuk ürün için canlandıracağınızı biliyorsanız, son pozisyonun uygun bir kareye kodlanması zor olabilir.

Bir yol boyunca animasyon yapmak

There is nothing special to moving, scaling and rotating the layer from the start to the end position. If you want to read more about how I did it you can look at the post I wrote.

Çubuk öğesini sallayarak

This cannot be done without a lot of custom code or using private API at the moment. Since bar items doesn't have a view or a layer there is no accessible layer for you to animate. I guess that you could have a custom animating image that does the shake and set that during the animation and set the new image afterwards. The approach of drawing into an image and animating that doesn't work that well either since there is no accessible layer who can draw its content into the image (you want this for the special effect of the tool bar item and tab bar item).

... hepsini bir araya getirin ve özel ihtiyaçlarınıza göre ayarlayıp, aradığınız animasyona benzeyen bir animasyonunuz olacak.