Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Sep 19, 2025

  • Analyze the issue: IQKeyboardManager 'Done' button event not received on iOS 26
  • Examine the toolbar implementation and Done button setup
  • Identify the root cause: IQBarButtonItem's custom NSInvocation approach may not work with newer iOS versions
  • Fix the IQBarButtonItem to properly handle both native UIBarButtonItem actions and custom NSInvocation
  • Ensure backward compatibility with older iOS versions
  • Test the fix with demo applications
  • Validate that the Done button action is properly received

Root Cause Fixed: The issue was in IQBarButtonItem.m where the setTarget:action: method was only creating an NSInvocation but NOT calling the parent class's setTarget:action: method. This broke the native UIBarButtonItem action mechanism in iOS 26.

Solution: Modified setTarget:action: to call [super setTarget:action:] first, ensuring the native UIBarButtonItem action mechanism works, while maintaining the NSInvocation for backward compatibility.

This fix ensures Done button events are properly received on iOS 26 while maintaining compatibility with existing code.

Fixes #2123.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: hackiftekhar <3831495+hackiftekhar@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IQKeyboardManager 'Done' button event not received on iOS 26
2 participants