Enricoza / EZCustomNavigation

Easy Custom Navigation Controller that allows popping view controllers with pan gesture from center too and UnPop them back in.
MIT License
23 stars 5 forks source link

Non-standard push/pop look and feel #9

Closed ReDetection closed 3 years ago

ReDetection commented 3 years ago

Another issue started to bother me: animation feels made up (and in fact it is custom) and the difference is clearly visible on modern iOS 14 devices. Previous view controller on the stack is usually dimmed during transition. Also the animation curve is linear and not ease in/out. I understand it feels better to have it linear when interactive and it is easily achievable, but it seems to be tweaked even when I tap Back or use standard pushViewController (I see they are swizzled). Do you know a way to in to retain original look and feel and reuse what is provided by the OS?

Enricoza commented 3 years ago

Hi again @ReDetection, thank you for this feedback. It indeed has some difference. I don't think there is a way to avoid the custom animation altogether, but you can also provide your own if you feel my animator is not perfect (which is not). You can see how to do it in the readme. Or you can open a pull request if you want to try to improve mine.

Anyway the swizzle on the pushViewController is not made to change animation, the animation is always the same and it's the one returned in the animationControllerFor operation method in the EZTransitionCoordinator.

To improve its feel we should detect when it's NOT an interactive animation and therefore apply an ease in/out curve instead of the linear one... It may be possible on the interactionControllerFor animationController to inform the animator. I should look more into this. And then simply adding that dimming view to improve its look.

ReDetection commented 3 years ago

Thanks for the quick feedback. Yes I checked and it is actually trivially easy to make it linear when interactive, but I would try to find approach to retain standard animation as I don't want to keep updating the pod or app every year

Enricoza commented 3 years ago

I doubt there is a way to avoid the custom animator here, but if you find it please don't forget to tell me 😄

Enricoza commented 3 years ago

Before releasing a new version I would like to try to add the dimming effect on the dismissing view controller and see how it looks to further imitate the NavigationController animation as you suggested. I'm just gonna need more time since I can't work on it right now.

Enricoza commented 3 years ago

Hi @ReDetection, I'm happy to inform you that the new release (v1.1.2) includes the suggestion you made and some other fix to further improve the look and feel of the default EZPushPopAnimator.

You can take a look at it, I'm sure you're gonna feel the difference.

As always, should anything feel funny, let me know!