Skip to content

[iOS] Shell SearchHandler hardcodes Cancel Button to hidden, causing a keyboard trap #33008

@Ryanma-YX

Description

@Ryanma-YX

Description

I would like to report a critical usability issue and a limitation in the Shell SearchHandler implementation on iOS.

The Issue:
While the native iOS UISearchBar supports a "Cancel" button, the MAUI Shell implementation appears to hardcode ShowsCancelButton to false (or fails to expose it).
Why this is critical:
Keyboard Trap: On iOS, there is no hardware "Back" button to dismiss the keyboard.
No Exit Route: Once the SearchHandler is focused, the keyboard appears with the Return Key set to "Search". Without a "Cancel" button, there is no way for the user to dismiss the keyboard or exit search mode without executing a query.
API Limitation: I attempted to modify this via the SearchHandler Handler/Mapper, but it seems the Shell's internal logic overrides or ignores these settings, making it impossible to enable the Cancel button via standard customization methods.
Request:
Please remove the hardcoded restriction and expose a ShowsCancelButton property (or default it to true when focused, which is standard iOS behavior). Users need a way to exit the search interaction gracefully.

Steps to Reproduce

No

Link to public reproduction project repository

No response

Version with bug

10.0.11

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS

Affected platform versions

No response

Did you find any workaround?

No response

Relevant log output

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions