Как я могу реплицировать анимацию мусора Mail.app

В моем приложении для iPhone я поместил UIBarBUtton типа UIBarButtonSystemItemTrash в свой UIToolBar. При нажатии, я хотел бы воспроизвести анимацию Mail.app: ящик открывается, UIView сбрасывает и влетает в него.
Есть ли способ получить доступ к этой анимации через iPhone SDK?

В настоящее время я использую пользовательскую анимацию, но есть некоторые ограничения; например, я не могу анимировать сам бит. Есть ли у вас предложения? Образцы кода?

Ура,
Davide

Используйте тип suckEffect для анимации. Также: spewEffect, genieEffect, unGenieEffect, twist, tubey, swirl, cameraIris, cameraIrisHollowClose, cameraIrisHollowOpen, rippleEffect, charminUltra, zoomyIn и zoomyOut. Не работает в симуляторе.

CATransition *animation = [CATransition animation]; animation.type = @"suckEffect"; animation.duration = 2.0f; animation.timingFunction = UIViewAnimationCurveEaseInOut; view.opacity = 1.0f; [view.layer addAnimation:animation forKey:@"transitionViewAnimation"]; 

Примечание: fragment кода был извлечен из большей базы кода. Надеюсь это работает 🙂

Просто добавьте информацию:

  1. Вы можете использовать «suckEffect» со стандартным +[UIView setAnimationTransition:forView:cache:] . Просто передайте номер 103 переменной animationTransition . Это не приведет к тому, что Apple отклонит ваше приложение: p
  2. «spewEffect», «genieEffect», «unGenieEffect» и т. д. больше не существуют на iPhoneOS 3.x. Единственный недокументированный переход – «куб» (-), «rippleEffect» (110), три эффекта «cameraIris» (105,106,107) и «suckEffect» (103).

Подробнее см. http://www.iphonedevwiki.net/index.php?title=UIViewAnimationState .

Кроме того, для анимации bin (с закрытым API): http://www.iphonedevwiki.net/index.php?title=UIToolbar#Animating_the_trash_can_icon .

К сожалению, я думаю, что это будет полностью настраиваемая анимация. Сгибание UIView можно аппроксимировать с помощью Core Animation, возможно, добавив перспективу к CATransform3D подстилающего слоя UIView, чтобы исказить UIView в трапецию, которая всасывается в мусорную корзину.

Что касается мусора, вы можете создать UIBarButtonItem с помощью initWithCustomView :, который может позволить вам вставить пользовательский UIView с анимационным trashcan. Похоже, корзина мусора имеет два элемента: основание и крышку, которые вращаются независимо, чтобы открыть и закрыть банку. Нарисуйте PNG для обоих, сделайте для них UIImageViews и сделайте их подвидными для пользовательского представления UIBarButtonItem. Для открытия и закрытия применяйте к ним вращательные преобразования для анимации подзонов.

Я не уверен, что это ответ, но вот lib, который выполняет «эффект джина», поэтому он очень похож на то, чего вы хотите достичь.

 CGRect endRect = CGRectMake(30, 40, 50, 60); [view genieInTransitionWithDuration:0.7 destinationRect:endRect destinationEdge:BCRectEdgeTop completion:^{ NSLog(@"I'm done!"); }]; 

Genie IN

  • Проблема с использованием NSURLRequest для данных POST на сервер
  • Документация по API API iOS
  • Вызов распознавателя жестов и действия кнопок
  • wait_fences: не удалось получить ответ: Ошибка 10004003 - UIAlert БЕЗ UITextField присутствует
  • Как создать пользовательскую функцию ослабления с помощью Core Animation?
  • Простой способ изменить положение UIView?
  • iPhone - UIImagePickerControllerDelegate наследование
  • Сеть iPod Touch без Wi-Fi
  • Ссылка с UITableViewCell на родительский UITableView?
  • Прокрутка двумя пальцами с помощью UIScrollView
  • Взаимодействие за пределами UIView
  • Interesting Posts

    Как конвертировать datetime в timestamp с помощью C # /. NET (игнорируя текущий часовой пояс)

    Как отключить начальный экран в Windows 8 Release Preview?

    Именованные параметры в JDBC

    ARC и мостовой литой

    Как настроить Spring для создания JPA (Hibernate) и JDBC (JdbcTemplate или MyBatis) совместно использовать одну и ту же транзакцию

    config.assets.compile = true в Rails-производстве, почему бы и нет?

    LINQ to SQL внутри, а не в

    Schema.org/Microdata разметки для списка последних сообщений без предоставления «author» / «publisher»?

    Лучший способ управлять ProgressDialog из AsyncTask

    Размещение фонового изображения

    HTML5 Audio не может воспроизводиться через Javascript, если только вручную его не запускать вручную

    Visual Studio 2015 “нестандартный синтаксис; используйте ‘&’ для создания указателя на элемент “

    Создание Silverlight DataTemplate в коде

    Самый простой способ сохранить вкладку «Процессы» Диспетчера задач в виде файла CSV?

    C # Regex for Guid

    Давайте будем гением компьютера.