Skip to content

DeckTransition 3.0 #109

Description

@HarshilShah

Hey all,

Sorry it’s been a while, this took a bit longer than I’d expected, and then iOS 13 hit and that made it take a bit longer.

Originally, I was planning address some different issues with this major update, however in light of the transition changes in iOS 13, I’ve had to made some changes to the plans. While custom transitions and variable height presentations were to be the main focus, I’ve decided to push those back in favour of prioritising bringing the design and implementation up to par with Apple’s.

The goal for now is to essentially make DeckTransition functionally identical to the default iOS 13 transitions which will enable backporting the new UI for now, and then building in features which Apple doesn’t have yet such as the two mentioned above, better customisability on iPads, and so on.

Here’s a list of all the changes I’m hoping to get in:

  • The swipe-to-dismiss gesture should use an interactive transition.
  • View controllers should be able to dynamically specify when a dismissal is allowed.
  • The corner radius handling needs improvement. On devices and features with rounded corners (so the X-series iPhones, newer iPad Pros, and split view on iPads) the presenting card should animate from the device’s corners.
  • The iPad UI needs a complete rethink. It should essentially be a 1:1 match of Apple’s designs which scales up from a page sheet to the current style based on the user’s dynamic type settings.

The iPhone part of this changelog is relatively trivial. The iPad part will take significant work, especially given the smart things Apple is doing with handling corner radii in split view, for example.

Additionally, I think I’ve found solutions to some prevalent bugs such as the weird transforms for certain UITableView rows and some others.

It should be possible to retain support for upto iOS 11, however iOS 9 and 10 will likely have to be dropped.

The plan is to have a draft of this change in within a few weeks, time permitting.

I’d love to hear any thoughts people using this library have about these planned changes or any ideas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions