mozilla-mobile / firefox-ios

Firefox for iOS
Mozilla Public License 2.0
12.14k stars 2.9k forks source link

Add custom UIViewController transition to present and dismiss TabTray #17548

Open data-sync-user opened 9 months ago

data-sync-user commented 9 months ago

Add a custom transition to present and dismiss the TabTray once an action is done like creating a new tab. Must support Redux integration and Coordinator pattern Article showing expected result: https://medium.com/@tungfam/custom-uiviewcontroller-transitions-in-swift-d1677e5aa0bf

┆Issue is synchronized with this Jira Task

data-sync-user commented 7 months ago

➤ Sophie Amin commented:

The requested behavior was to emulate the enlarging animation transition from selecting a tab to entering that tab that you can see in popular browsers like Edge, Safari etc.

While planning how the transitions would be performed by the coordinator, I realized that there would have to be one fullscreen ViewController that starts the transition (Tab tray) and one full screen ViewController that ends the transition (BrowserViewController) for it to look visually similar.

To achieve this cleanly we probably would have to make the Tab Tray a fullscreen presentation instead of a sheet/modal presentation. See Example images comparing Safari (full screen) with what’s currently in Firefox (sheet).

Once we discuss whether that’s acceptable with design we can move forward with this task.

SafariFirefox!Simulator Screenshot - iPhone 15 Plus - 20240129 at 15.25.29.pngwidth=1290,height=2796!!Simulator Screenshot - iPhone 15 Plus - 20240129 at 15.23.48.pngwidth=1290,height=2796!