A travel companion for your apps, a solitaire friend for Walker

Related tags

Animation Morgan
Overview

Morgan




A travel companion for your apps, a solitaire friend for Walker. This library aims to make the job of using day to day animations easier, just with one line of code you are going to be able to do delightful animations.

Note that Morgan is never finished, as I find more and more cases and animations in my daily iOS life, I'll keep adding them here, making the biggest set of animations in iOS, and I would be happy if you help me on that too.

Code

Morgan uses Walker as the animation engine and works tight with him to provide you with a set of different animations, let me list you a few of them.

view.fall()
view.zoom()
view.levitate()
view.flip()
view.swing()
view.morph()
view.shake()
view.peek()
view.zoom()
view.slide()
view.disappear()

To check the rest of the animations available check the source files.

Installation

Morgan is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'Morgan'

Morgan is also available through Carthage. To install just write into your Cartfile:

github 'RamonGilabert/Morgan'

Upcoming features

As stated above, Morgan is always in motion, always changing, growing and improving, there's no roadmap, just a set of new PR every time I, or someone else finds something interesting to share with the community.

Author

Ramon Gilabert with ♥️

Contribute

I would love you to contribute to Morgan, check the CONTRIBUTING file for more information.

License

Morgan is available under the MIT license. See the LICENSE file for more info.

You might also like...
ButtonClickStyle - This is a Customizable/Designable Button View, with 15 animated click styles, that allows you to design your own buttons from subviews, in storyboard and xib right away.
ButtonClickStyle - This is a Customizable/Designable Button View, with 15 animated click styles, that allows you to design your own buttons from subviews, in storyboard and xib right away.

ButtonClickStyle - This is a Customizable/Designable Button View, with 15 animated click styles, that allows you to design your own buttons from subviews, in storyboard and xib right away.

MotionScape is your animations playground as a developer.
MotionScape is your animations playground as a developer.

MotionScape is your animations playground as a developer. You can see all animations and their parameters in effect with beautifully designed and handcrafted animation examples.

🚀  It Makes easy to track your task 🔥 Beautiful & Animated UI👨🏻‍💻  . Contributions are always welcome 🤗
🚀 It Makes easy to track your task 🔥 Beautiful & Animated UI👨🏻‍💻 . Contributions are always welcome 🤗

Taskey 🚀 What is Taskey 🤔 ? Taskey is an application build in SwiftUI to track your task with a beautiful animations and UI . Also used core data to

RAProgressRing is the simplest approach to bringing circular progress in your application with minimal code.
RAProgressRing is the simplest approach to bringing circular progress in your application with minimal code.

RAProgressRing RAProgressRing is the simplest approach to bringing circular progress in your application with minimal code. Features It's customisable

A simple app to save your friend's name and date of birth.
A simple app to save your friend's name and date of birth.

Birthday Saver A simple app to save your friend's name and date of birth. Description In this app, you can save your friend's name and date of birth.

Abandonned project - iOS and watchOS apps to travel with Geneva Public Transports
Abandonned project - iOS and watchOS apps to travel with Geneva Public Transports

Presentation tpg offline is an iOS app that allows you to travel in Geneva by bus and tramay without cellular data. This application is available on t

Solitaire mahjong game with several themes and layouts. For android/iphone/ubuntu/firefoxos

green-mahjong Green Mahjong is a HTML5 based GPLv3 solitaire mahjong game. It features three nice themes, six different layouts and works accross all

Freezer is a library that allows your Swift tests to travel through time by mocking NSDate class.

Freezer Freezer is a library that allows your Swift tests to travel through time by mocking NSDate class. Usage Once Freezer.start() has been invoked,

A travel guide app that implements MVVM design pattern, using mock API.
A travel guide app that implements MVVM design pattern, using mock API.

✈️ Travel Guide App 🏖 A travel guide app that implements MVVM design pattern, using mock API. ✨ Features 🔸 Project Features Written in Swift Impleme

Companion app and XCode extension for adding SwiftUI recipes to your code.
Companion app and XCode extension for adding SwiftUI recipes to your code.

SwiftUI Recipes Companion Free Companion app and XCode extension for adding SwiftUI recipes to your code. Choose from a rich selection of SwiftUI reci

Animal Crossing New Horizon companion app in SwiftUI
Animal Crossing New Horizon companion app in SwiftUI

You can now download the app on the App Store! The best Animal Crossing New Horizons companion app! 最高の「あつまれ どうぶつの森」コンパニオンアプリ Animal Crossing New Hori

Infini-iOS - an InfiniTime Companion App for iOS

Infini-iOS - an InfiniTime Companion App for iOS This is a proof-of-concept, barely-functional iOS application to interact with your PineTime running

A companion app for after-cancer treatment patients

Amber - your smart companion We have developed the iOS app Amber - a companion for after-cancer treatment patients. It connects patients with their do

iOS Companion App for PineTime

InfiniLink - an InfiniTime Companion App for iOS This iOS application allows you to interact with your PineTime smartwatch running InfiniTime (and per

Alby-installer-macos - The Extension and Companion Installer for Alby
Alby-installer-macos - The Extension and Companion Installer for Alby

Alby macOS Installer This is the Extension and Companion Installer for Alby. Cli

NFCMate - A NFC Companion built using Swift with CoreNFC Framework
NFCMate - A NFC Companion built using Swift with CoreNFC Framework

NFCMate NFCMate NFCMate is a NFC app written in Swift for iOS devices. Moreover,

A Jetpack-powered companion app for WooCommerce.
A Jetpack-powered companion app for WooCommerce.

for iOS A Jetpack-powered companion app for WooCommerce. Build Instructions • Documentation • Contributing • Automation • Security • Need Help? • Reso

An Elden Ring companion app using SwiftUI + GraphQL

The Roundtable The bustling hub area that exists outside of the Lands Between. A place to mingle with other adventurerers, craftsmen, resupply and dis

Comments
  • return Distillery to chain more animations

    return Distillery to chain more animations

    Hello there,

    This is a great work! Thank you for building this and Walker.

    I just have a suggestion that the methods in Morgan should return Distillery instead of receiving a completion block. This way, people can chain more animations or even chain the finally themselves into your built-in animation. For example, I may want to shake the button the hide it. Does it make sense?

    As an example, instead of your shake method in Morgan+UIView, this is my version of shake that I am using with Walker in my app:

        public func shake(landscape: Bool = true, duration: NSTimeInterval = 0.075) -> Distillery {
            let x: CGFloat = landscape ? 25 : 0
            let y: CGFloat = landscape ? 0 : 25
    
            return animate(self, duration: duration) {
                $0.transform = CGAffineTransformMakeTranslation(-x, -y)
            }.chain(duration: duration) {
                $0.transform = CGAffineTransformMakeTranslation(x, y)
            }.chain(duration: duration) {
                $0.transform = CGAffineTransformMakeTranslation(-x / 2, -y / 2)
            }.chain(duration: duration) {
                $0.transform = CGAffineTransformIdentity
            }
        }
    
    enhancement 
    opened by thanhn08 2
  • How to stop animation

    How to stop animation

    @RamonGilabert How do I stop an animation?

    For instance I have a button that I levitate infinitley. Problem is, when user presses the button, it recognizes the touch but doesnt execute any code in the block unless i remove the levitate animation.

    So How can I stop or pause levitate animation?

    opened by otymartin 0
  • Triggering animations on multiple views at the same time

    Triggering animations on multiple views at the same time

    Hi, I've created a few buttons and I trigger peek animation on tap events. I've noticed that some animations (like morph) just don't trigger when one is already active. However, buttons will hide(they get really small I guess) when I tap them if one peek animation is already active. Is there any way to run these animations safely? Animations look great ;)

    bug 
    opened by Eluss 2
Releases(0.10.0)
Owner
Ramon Gilabert
Product Designer into animations, user interaction and visual design.
Ramon Gilabert
ScriptLib - Early and in progress scripting suite for Swift apps

ScriptLib Early and in progress scripting suite for Swift apps. The goal is to c

Jesse Grosjean 13 Sep 24, 2022
ViewAnimator brings your UI to life with just one line

ViewAnimator is a library for building complex iOS UIView animations in an easy way. It provides one line animations for any view included the ones wh

Marcos Griselli 6.9k Jan 2, 2023
YapAnimator is your fast and friendly physics-based animation system

YapAnimator is your fast and friendly physics-based animation system. YapAnimator was built with ease-of-use in mind, keeping you sane and your design

Yap Studios 1.9k Dec 6, 2022
A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView without effecting your existing code.

AnimatedCollectionViewLayout Normally a UICollectionView has no transition effects when you scroll from one item to another. There are lots of ways to

Jin Wang 4.5k Jan 1, 2023
🚀 It Makes easy to track your task 🔥 Beautiful & Animated UI👨🏻‍💻 . Contributions are always welcome 🤗

Taskey ?? What is Taskey ?? ? Taskey is an application build in SwiftUI to track your task with a beautiful animations and UI . Also used core data to

Mohd Yasir 36 Nov 20, 2022
Fire for your iPhone

curryFire ?? curry is an Cocoa Touch framework built to enhance and compliment Foundation and UIKit. curryFire builds on top of curry with hot fire an

Devin Ross 131 Nov 1, 2022
Add smooth water waves to your views.

WXWaveView Add pretty and smooth waves to your views! The wave can be added to any type of view. 中文说明 e.g. Integration Cocoapods: pod 'WXWaveView' Or

Welkin Xie 347 Dec 28, 2022
Twinkle is a Swift and easy way to make any UIView in your iOS or tvOS app twinkle.

Twinkle ✨ Twinkle is a Swift and easy way to make any UIView in your iOS or tvOS app twinkle. This library creates several CAEmitterLayers and animate

patrick piemonte 600 Nov 24, 2022
Fluid - Use a declarative syntax to build your user interface using UIKit like SwiftUI

Fluid Fluid is powered by ResultBuilder and a custom layout engine. You can uses

HZ.Liu 13 Dec 9, 2022