Hello, community.
We are adding visionOS support to our application and have an issue without a solution because of a system UIKit bug.
There is a system bug with cycled recalling textFieldShouldReturn
function after the first Return button usage (with this function returning true), and calling resignFirstResponder
textField will get in the cycle, and there is no way to stop calling the textFieldShouldReturn
func.
Repro steps:
- Enter text to UITextField
- Press Return button on keyboard
textFieldShouldReturn
called (return true after step 4)- call
resignFirstResponder
- call
becomeFirstResponder
or tap on UITextField - return to step 3
The same problem exists in system application Reminders.
Repro steps:
- Create a new reminder with a title and description
- Set pointer to title textField
- Press Return button on keyboard
- App will try to create a new reminder and, after less than a second, return to the first reminder
The bug is only for visionOS, on iOS/iPadOS all is OK. We assume that there is a flag for Return button usage, which checks on becomeFirstResponder logic, and in visionOS (iPadOS adaption), it does not clear this after handling button pressing.