Skip to content

Conversation

@hansemannn
Copy link
Collaborator

The dismiss mode is handled by the operating system in newer iOS versions, so a manual interception causes more problems than it solves and should therefore be discontinued. Spotted by @designbymind

@designbymind
Copy link

designbymind commented Sep 12, 2025

Hey Everyone! — For TiDevs interested in additional infos on this, below are some simple tips to get this working in your apps 📲

What happened? — Apple finally agreed that being able to swipe from anywhere on the screen (instead of just the left-most edge) to return to the previous screen in your NavigationWindow and TabGroup controllers is a better UX pattern and made this the default functionality in iOS 26+. This will enable your apps to work like some of the most popular apps out there, such as: Facebook, Instagram, TikTok, Slack, Discord, and many others. For anyone running iOS 26, you can test this functionality in many of Apple’s default apps, such as: Settings, Notes, Music, Files, Podcasts, and the App Store. Just swipe from the middle of the screen (or farther to the right) and you will be able to see how much easier it is to navigate your apps with just one hand 👆

There are some caveats to making this possible with Ti.
First: if you have any custom gestures attached to your Views or are using built-in gestures (like swipe-to-delete actions on ListView/TableView), those gestures will take priority on their respective areas.
Second: if you’re using a custom NavBar or a custom ‘back button’ in the native NavBar, this functionality will not work. You must use the native NavBar with the hidesBackButton property (of your Window) set to false.
Tip💡: use the following Window property to hide the previous Window's title property from being displayed in the back button (and only display the back button icon):

backButtonTitle: ''

Questions? — Drop a message on TiDev’s Slack 📝

Swipe-to-close area iOS <18
image

Swipe-to-close area iOS 26
image

@hansemannn hansemannn merged commit 0603965 into tidev:master Sep 12, 2025
6 checks passed
@hansemannn hansemannn deleted the feature/remove-interactive-dismiss-mode branch September 12, 2025 07:27
hansemannn added a commit that referenced this pull request Dec 28, 2025
…14327)

* chore: add 13.0.0 changelog

* fix(android): fix transparent TextField backgroundColor (#14245)

* fix(android): fix transparent TextField backgroundColor

* fix null

* fix null

* fix null

* null == transparent

* fix: properly clean build folder (#14264)

* fix: properly handle containment of tab group (#14261)

* fix(ios): keep TableView search results on enter (#14265)

* Revert "fix: properly handle containment of tab group (#14261)" (#14266)

This reverts commit 5875cb0.

* fix(ios): improve safe area detection and trigger relayout (#14267)

* fix(ios): include top safe area inset in navigation window (#14268)

* fix(ios): improve safe area layout lifecycle (#14269)

* fix(ios): improve safe area layout lifecycle

* chore: use BOOL instead of bool

* Update iphone/TitaniumKit/TitaniumKit/Sources/API/TiViewProxy.m

---------

Co-authored-by: Hans Knöchel <[email protected]>

* chore: update changelog

* chore: update ioslib to 5.1.0 to support Xcode 26

* chore: update changelog

* [backport] Drop Node 16 and 18, remove engines.node (#14272)

* remove node engines, let the CLI own it

* Add back venderDependencies

* fix(ios): correct safe area for standalone windows (#14273)

* fix(ios): use proxy viewCount in ScrollableView to prevent empty display (#14275)

* chore: remove interactive dismiss mode (#14274)

* chore(ios): update xcode/ios/watchos compatibility versions

* Revert "feat(ios): support iOS 26+ source views for non-iPad devices (#14258)" (#14276)

This reverts commit ce3752b.

* chore: update module versions (#14270)

* chore: add 13.0.0.GA changelog

* chore: update 13.0.0.GA changelog

* chore(release): bump version

* fix(ios): fix ButtonConfiguration API from throwing an error on device

* fix: patch ActivityKit so it works with catalyst (#14279) (#14280)

* fix: ensure eventStoreChanged notification is not over-registered (#14282)

* feat(ios): support swift package manager (SPM) module dependencies

* chore: update iOS workflow (#14304)

* fix(ios/cli): fix linting error in module build

* chore: move spm util to ES-based module

---------

Co-authored-by: Michael Gangolf <[email protected]>
Co-authored-by: Jan Vennemann <[email protected]>
Co-authored-by: Chris Barber <[email protected]>
Co-authored-by: narbs <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants