touchesEnded: not triggered on newer iOS when view is inside UIScrollView (was working on iOS 18)

Hi everyone,

I’m facing an issue with touch handling on newer iOS versions.

I have a custom view controller implemented in Objective-C that overrides touchesEnded:. The same code works correctly on iOS 18, but on newer iOS versions (tested on iOS 26), touchesEnded: is no longer being triggered.

Important observations:

touchesBegan: is triggered.

touchesEnded: is NOT triggered.

touchesCancelled: is also NOT triggered.

No code changes were made between iOS 18 and iOS 26. Same code, same sample works fine in iOS18 device but not in iOS26 device

Questions: Has gesture arbitration behavior changed in recent iOS 26 versions when views are inside UIScrollView?

Any clarification on whether this is intended behavior or a regression would be greatly appreciated.

Thank you.

My implementation :

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
   //my own code
    [super touchesBegan:touches withEvent:event];
}

Similar implementation wrt touchesmoved/ended/cancelled.

By removing super call, my code works fine in iOS26 also. But i would want to understand the impact and usage of super call. Is it not recommended to call super in overridden methods of gesture recognizer ?

Hello lokeshpudhari,

Could you possible create a focused test project that replicates the callbacks not triggering, so we can troubleshoot it? If so, please share a link to your test project.

If you're not familiar with preparing a test project, take a look at Creating a test project.

Thank you,

Richard Yeh  Developer Technical Support

Hi Richard,

I have created the test project and able to replicate the issue with iOS26 (which is working fine in iOS18 and below). Please share your email id so that i can share the project with you.

Thank you.

Hello lokeshpudhari,

The most convenient method would be for you to open a bug report via Feedback Assistant. Not only would that allow you to upload files related to your issue, it is also how you would receive status updates if changes from Apple Engineering are required.

Please feel free to copy over the same explanation and screenshots from this thread to your bug report. Once it has been opened, please post the FB number here for my reference.

If you have any questions about filing a bug report, take a look at Bug Reporting: How and Why?

Let me know if you'd like to know more,

Richard Yeh  Developer Technical Support

touchesEnded: not triggered on newer iOS when view is inside UIScrollView (was working on iOS 18)
 
 
Q