Overview
Version 7.0 introduces a cleaner, more organized API structure with configuration objects and the.iq wrapper pattern for UIView extensions. This improves code clarity and reduces namespace pollution.
Key Change: Most UIView extension properties now use the
.iq namespace wrapper pattern.Breaking Changes
Removed Features
The following properties and methods have been removed:Removed UIViewController Property
IQKeyboardManager Configuration Changes
Property Renaming
Many properties have been renamed for consistency:Toolbar Configuration
Toolbar-related properties are now consolidated intoIQToolbarConfiguration:
Placeholder Configuration
Placeholder-related properties moved toIQToolbarPlaceholderConfiguration:
Keyboard Appearance Configuration
Keyboard appearance settings moved toIQKeyboardConfiguration:
Keyboard Listener Changes
Keyboard state monitoring has been moved to a dedicatedIQKeyboardListener class:
UIScrollView Extension Changes
ScrollView extensions now use the.iq wrapper pattern:
UIView Extension Changes
Configuration Properties
View Hierarchy Methods
Toolbar Properties
UIViewController Extension Changes
Migration Steps
1
Update Dependency
Update your
Podfile or Package.swift to version 7.0+2
Install Dependencies
3
Update Property Names
Use find-and-replace to update renamed properties:
shouldResignOnTouchOutside→resignOnTouchOutsideshouldPlayInputClicks→playInputClicksoverrideKeyboardAppearance→keyboardConfiguration.overrideAppearancekeyboardAppearance→keyboardConfiguration.appearance
4
Migrate Toolbar Configuration
Move toolbar settings to configuration objects:
5
Update UIView Extensions
Add
.iq wrapper to all UIView extension properties:6
Update Keyboard Monitoring
If you use keyboard size monitoring, migrate to
IQKeyboardListener:7
Build and Test
- Build your project and fix compilation errors
- Test all keyboard interactions
- Verify toolbar customizations still work
Complete Example
Here’s a before/after comparison of typical AppDelegate configuration:Benefits of v7 Architecture
Cleaner Namespace
The
.iq wrapper prevents pollution of UIView’s namespaceOrganized Configuration
Related settings grouped into configuration objects
Better Discoverability
Xcode autocomplete shows related options together
Future-Proof
Easier to add new features without API conflicts
Troubleshooting
Property not found on UITextField
Property not found on UITextField
Cause: Forgot to add
.iq wrapperSolution:Cannot find 'toolbarTintColor' in scope
Cannot find 'toolbarTintColor' in scope
Cause: Property moved to configuration objectSolution:
Keyboard monitoring not working
Keyboard monitoring not working
Cause: Need to use
IQKeyboardListener insteadSolution:Need Help?
If you encounter issues:- Search GitHub Issues
- Check the v7 release notes
- Ask questions in Discussions