This is still a problem in iOS 26.0.1.
The behavior is significantly different than on iOS 18 and below.
Using the new iOS 26 method - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRanges:(NSArray<NSValue *> *)ranges replacementString:(NSString *)string API_AVAILABLE(ios(26.0), tvos(26.0), visionos(26.0), watchos(26.0));
Does NOT resolve the issue as it reports the same WRONG values.
Topic:
UI Frameworks
SubTopic:
UIKit