Skip to main content

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 into IQToolbarConfiguration:

Placeholder Configuration

Placeholder-related properties moved to IQToolbarPlaceholderConfiguration:

Keyboard Appearance Configuration

Keyboard appearance settings moved to IQKeyboardConfiguration:

Keyboard Listener Changes

Keyboard state monitoring has been moved to a dedicated IQKeyboardListener 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 → resignOnTouchOutside
  • shouldPlayInputClicks → playInputClicks
  • overrideKeyboardAppearance → keyboardConfiguration.overrideAppearance
  • keyboardAppearance → 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 namespace

Organized 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

Cause: Forgot to add .iq wrapperSolution:
Cause: Property moved to configuration objectSolution:
Cause: Need to use IQKeyboardListener insteadSolution:

Need Help?

If you encounter issues:
  1. Search GitHub Issues
  2. Check the v7 release notes
  3. Ask questions in Discussions