I was fortunate enough to have some details regarding the 16.0 change provided to me so I can further elaborate on this. I don't believe this is a "bug" and merely an(albeit very frustrating) undocumented default behaviour change regarding the responder chain defaults.
The change in 16.0+ is that this property is now only checked when the responder chain changes. Myself and many other never set a first responder so attempts to just override the editingInteractionConfiguration
property is not enough and requires explicitly making a responder chain change.
The "workaround" answered above is an example of implementing the following requirements to disable the "editing interaction" menu from triggering:
- Have at least a single
UIResponder
in your responder chain which can become a first responder - On said UIResponder UI elements, override the
editingInteractionConfiguration
property to return UIEditingInteractionConfigurationNone
- On said UIResponder become the first responder successfully
If you have other UI elements taking the first responder and you want to continue having it disabled, you need to override the property for those as well.
The 3-gesture option that was included with iOS 16 is starting to irritate people. Man, this is a new generation thing, and people use multiple fingers on the screen for games, the piano, and all other related applications. I think I'll switch back to iOS 15.7. Adding the three gesture setting to iOS 16 and make it mandatory, especially since there isn't a remove option. Because of this bug, I am unable to utilize my programs effectively. It's a brilliant idea but add on/off or remove.
Extension ViewController -> open override var canBecomeFirstResponder: Bool { return true }
@available(iOS 13.0, *) open override var editingInteractionConfiguration: UIEditingInteractionConfiguration { return .none }