كيفية إنشاء تأثير الحركة "إضافة إلى قائمة القراءة"

أحاول أن أجعل تأثيرًا متحركًا مشابهًا للتأثير على Safari (iPhone) عندما تضيف عنصرًا إلى قائمة القراءة. يشبه الأمر الذي يظهر عند بدء تنزيل عنصر من تطبيق App Store: يتم إسقاط عنصر التطبيق إلى المرسى لبدء التنزيل. أولا ، يرتد إلى الأعلى ثم يذهب إلى قفص الاتهام. إنه تأثير رائع يستخدمه Apple على نظام التشغيل الخاص به.

لدي عرض صورة على الشاشة أريد إسقاطه باستخدام هذا النوع من الرسوم المتحركة إلى شريط الأدوات الخاص بي في التطبيق الخاص بي.

إذا كان هناك شخص فعل ذلك أو عرف اسم التأثير ، فيرجى أن تخبرني كيف أقوم به.

شكرا لكم.

1

1 إجابة

لا تُظهر "إضافة إلى قائمة القراءة" أي رسوم متحركة على هاتفي ، ولكن من وصفك يبدو وكأنه "فتح في الخلفية" - الإغواء في Safari (iPhone). إجابتي تصف هذه الرسوم المتحركة.


لقد كتبت شيئًا من هذا القبيل منذ بضعة أشهر ، والكثير منه قابل للتنفيذ في حين أن البعض منه ليس كذلك. وأظهرت لي أسئلتك أن المزيد من الناس يعرفون كيف يتم ذلك لقد كتبت مشاركة مدونة عنه . سوف أصف النهج والتحديات العالية المستوى هنا ولكن يمكنك قراءة المزيد عنها في هذا المنشور.


الوصول إلى المحتوى لتحريكه

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

حساب نهاية الموقف

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.

قررت إجراء تقدير تقريبي لموضع النهاية باستخدام بعض الاستدلال البسيط. إذا كنت تعرف من قبل أنك ستقوم بتحريك عنصر شريط واحد فقط ، فيمكن أن يتم ترميز موضع النهاية إلى إطار مناسب.

تحريك على طول الطريق

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.

تهز عنصر البار

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).

... ضع كل هذا معًا وعدله لاحتياجاتك الخاصة وسيكون لديك رسم متحرك يشبه الرسوم المتحركة التي تبحث عنها.

0
وأضاف