Giter Club home page Giter Club logo

Comments (7)

shshalom avatar shshalom commented on May 14, 2024 2

@JakeLin Nice find, I'll get to it this weekend I hope.
I'll do some research and try to figure what would be the most simple and elegant approach.

@gkye Thanks for the link :-)

I'll post an update as soon I'll get some insights.

from ibanimatable.

shshalom avatar shshalom commented on May 14, 2024

Hi @JakeLin, Is there any chance to push this to an earlier version? that's my only blocker from using this great framework.

from ibanimatable.

JakeLin avatar JakeLin commented on May 14, 2024

@shshalom I don't have any plan to work on this feature yet. If you would like to take the initiative, please go head, I will offer some help if I can.

from ibanimatable.

shshalom avatar shshalom commented on May 14, 2024

I might do that :-).

I wonder, how should we go about this. did you had anything in mind? maybe follow some other similar library that does it?

from ibanimatable.

JakeLin avatar JakeLin commented on May 14, 2024

@shshalom great, I don't have a concrete idea how can we do it, I think there are a few ways we can try.

  1. Similar to https://github.com/Draveness/DKChainableAnimationKit
    which provides nice syntax like view.animation.makeScale(2.0).spring.animate(1.0), They provide an extension property called animation for all UIView objects in https://github.com/Draveness/DKChainableAnimationKit/blob/master/DKChainableAnimationKit/Classes/UIView%2BAnimationKit.swift#L15 . I don't think we need to do it as an extend method / property for UIView because we use protocol orientated programming pattern. It can be a property of Animatable protocol. They also used Objective-C black magic objc_getAssociatedObject because the library was ported from https://github.com/jhurray/JHChainableAnimations . I don't mind but we try to avoid it in IBAnimatable if possible.
  2. Some Promise / Future support like https://github.com/mxcl/PromiseKit, https://github.com/Thomvis/BrightFutures, or https://github.com/FutureKit/FutureKit
    They provide comprehensive features to control the flow of animations. I think they are overkill for animation library like IBAnimatable. I prefer to have a simple solution for both API usage and implementation. But their ideas can be reused in some place.
  3. Something simple I don't know yet.

We don't need to make a decision right now, we can have some spikes to try out different potential approaches. And make the decision once we get something. I think it will be a lot of fun😉 and a few of pains too.

from ibanimatable.

gkye avatar gkye commented on May 14, 2024

https://github.com/AugustRush/Stellar is also a pretty good example

from ibanimatable.

tbaranes avatar tbaranes commented on May 14, 2024

Closing in favor of #382

from ibanimatable.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.