[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6676":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":18,"lastSyncTime":35,"discoverSource":36},6676,"IQKeyboardManager","hackiftekhar\u002FIQKeyboardManager","hackiftekhar","Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField\u002FUITextView. Neither need to write any code nor any setup required and much more.","",null,"Swift",16622,2449,345,6,0,1,2,10,3,45,"MIT License",false,"master",true,[27,28,29,30,31],"iqkeyboardmanager","keyboard","objective-c","swift","xcode","2026-06-12 02:01:28","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FSocial.png\" alt=\"Icon\"\u002F>\n\u003C\u002Fp>\n\n[![LICENSE.md](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fhackiftekhar\u002FIQKeyboardManager.svg)](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FLICENSE.md)\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002Fhackiftekhar\u002FIQKeyboardManager.svg)](https:\u002F\u002Ftravis-ci.org\u002Fhackiftekhar\u002FIQKeyboardManager)\n![Platform iOS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-iOS-blue.svg?style=fla)\n[![CocoaPods](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fv\u002FIQKeyboardManagerSwift.svg)](http:\u002F\u002Fcocoadocs.org\u002Fdocsets\u002FIQKeyboardManagerSwift)\n[![Github tag](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Ftag\u002Fhackiftekhar\u002Fiqkeyboardmanager.svg)](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Ftags)\n\n## IQKeyboardManager Objective-C version source code is moved to https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManagerObjC\n\n\n## Introduction\nWhile developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the `UITextField\u002FUITextView`. `IQKeyboardManager` allows you to prevent this issue of keyboard sliding up and covering `UITextField\u002FUITextView` without needing you to write any code or make any additional setup. To use `IQKeyboardManager` you simply need to add source files to your project.\n\n\n## Key Features\n\n1. **One Line of Code** - Just enable and it works\n2. **Works Automatically** - No manual setup required\n3. **No More UIScrollView** - Automatically handles scroll views\n4. **No More Subclasses** - Works with standard UIKit components\n5. **No More Manual Work** - Handles all edge cases automatically\n6. **Modular Architecture** - Include only what you need via subspecs\n\n### What's Included\n\n- ✅ Automatic keyboard avoidance for UITextField\u002FUITextView\n- ✅ Support for UIScrollView, UITableView, UICollectionView\n- ✅ All interface orientations\n- ✅ Configurable keyboard distance\n- ✅ Class-level enable\u002Fdisable control\n\n### Optional Features (via Subspecs)\n\n- 📦 Toolbar with Previous\u002FNext\u002FDone buttons\n- 📦 Return key handling customization\n- 📦 Tap-to-resign keyboard\n- 📦 Keyboard appearance configuration\n- 📦 UITextView with placeholder supportv\n\n## Subspecs\n\nNow IQKeyboardManagerSwift uses a modular architecture with subspecs.\nBy default, all subspecs are included, but you can include only what you need:\n\n### Available Subspecs\n\n- **Core** (always included): Basic keyboard distance management\n- **Appearance**: Keyboard appearance configuration\n- **IQKeyboardReturnManager**: Return key handling\n- **IQKeyboardToolbarManager**: Toolbar functionality (Previous\u002FNext\u002FDone buttons)\n- **IQTextView**: UITextView with placeholder support\n- **Resign**: Tap-to-resign keyboard functionality\n\n### Including Specific Subspecs\n\n```ruby\n# Include toolbar example\npod 'IQKeyboardManagerSwift\u002FIQKeyboardToolbarManager'\n```\n\n## Screenshot\n[![Screenshot 1](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FREADME_Screenshot1.png)](http:\u002F\u002Fyoutu.be\u002F6nhLw6hju2A)\n[![Screenshot 2](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FREADME_Screenshot2.png)](http:\u002F\u002Fyoutu.be\u002F6nhLw6hju2A)\n[![Screenshot 3](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FREADME_Screenshot3.png)](http:\u002F\u002Fyoutu.be\u002F6nhLw6hju2A)\n[![Screenshot 4](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FREADME_Screenshot4.png)](http:\u002F\u002Fyoutu.be\u002F6nhLw6hju2A)\n[![Screenshot 5](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FREADME_Screenshot5.png)](http:\u002F\u002Fyoutu.be\u002F6nhLw6hju2A)\n\n## GIF animation\n[![IQKeyboardManager](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fv3.3.0\u002FScreenshot\u002FIQKeyboardManager.gif)](http:\u002F\u002Fyoutu.be\u002F6nhLw6hju2A)\n\n## Video\n\n\u003Ca href=\"http:\u002F\u002Fyoutu.be\u002FWAYc2Qj-OQg\" target=\"_blank\">\u003Cimg src=\"http:\u002F\u002Fimg.youtube.com\u002Fvi\u002FWAYc2Qj-OQg\u002F0.jpg\"\nalt=\"IQKeyboardManager Demo Video\" width=\"480\" height=\"360\" border=\"10\" \u002F>\u003C\u002Fa>\n\n## Tutorial video by @rebeloper ([#1135](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fissues\u002F1135))\n\n@rebeloper demonstrated two videos on how to implement **IQKeyboardManager** at it's core:\n\n\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL_csAAO9PQ8aTL87XnueOXi3RpWE2m_8v\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FThirdPartyYoutubeTutorial.jpg\"\nalt=\"Youtube Tutorial Playlist\"\u002F>\u003C\u002Fa>\n\nhttps:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL_csAAO9PQ8aTL87XnueOXi3RpWE2m_8v\n\n## Warning\n\n- **If you're planning to build SDK\u002Flibrary\u002Fframework and want to handle UITextField\u002FUITextView with IQKeyboardManager then you're totally going the wrong way.** I would never suggest to add **IQKeyboardManager** as **dependency\u002Fadding\u002Fshipping** with any third-party library. Instead of adding **IQKeyboardManager** you should implement your own solution to achieve same kind of results. **IQKeyboardManager** is totally designed for projects to help developers for their convenience, it's not designed for **adding\u002Fdependency\u002Fshipping** with any **third-party library**, because **doing this could block adoption by other developers for their projects as well (who are not using IQKeyboardManager and have implemented their custom solution to handle UITextField\u002FUITextView in the project).**\n- If **IQKeyboardManager** conflicts with other **third-party library**, then it's **developer responsibility** to **enable\u002Fdisable IQKeyboardManager** when **presenting\u002Fdismissing** third-party library UI. Third-party libraries are not responsible to handle IQKeyboardManager.\n\n## Requirements\n\n|                        | Minimum iOS Target | Minimum Xcode Version |\n|------------------------|--------------------|-----------------------|\n| IQKeyboardManagerSwift | iOS 13.0           | Xcode 13              |\n| Demo Project           |                    | Xcode 15              |\n\n#### Swift versions support\n\n| Swift             | Xcode | IQKeyboardManagerSwift |\n|-------------------|-------|------------------------|\n| 5.9, 5.8, 5.7     | 16    | >= 7.0.0       |\n| 5.9, 5.8, 5.7, 5.6| 15    | >= 7.0.0       |\n| 5.5, 5.4, 5.3, 5.2, 5.1, 5.0, 4.2| 11  | >= 6.5.7       |\n| 5.1, 5.0, 4.2, 4.0, 3.2, 3.0| 11  | >= 6.5.0       |\n| 5.0,4.2, 4.0, 3.2, 3.0| 10.2  | >= 6.2.1           |\n| 4.2, 4.0, 3.2, 3.0| 10.0  | >= 6.0.4               |\n| 4.0, 3.2, 3.0     | 9.0   | 5.0.0                  |\n\n\nInstallation\n==========================\n\n#### CocoaPods\n\nTo install it, simply add the following line to your Podfile: ([#236](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fissues\u002F236))\n\n```ruby\npod 'IQKeyboardManagerSwift'\n```\n\n*Or you can choose the version you need based on Swift support table from [Requirements](README.md#requirements)*\n\n```ruby\npod 'IQKeyboardManagerSwift', '8.0.0'\n```\n\n#### Carthage\n\nTo integrate `IQKeyboardManger` or `IQKeyboardManagerSwift` into your Xcode project using Carthage, add the following line to your `Cartfile`:\n\n```ogdl\ngithub \"hackiftekhar\u002FIQKeyboardManager\"\n```\n\nRun `carthage update --use-xcframeworks` to build the frameworks and drag `IQKeyboardManagerSwift.xcframework` into your Xcode project based on your need. Make sure to add only one framework, not both.\n\n#### Swift Package Manager (SPM)\n\nTo install `IQKeyboardManagerSwift` package via Xcode\n\n * Go to File -> Swift Packages -> Add Package Dependency...\n * Then search for https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager.git\n * And choose the version you want\n\n#### Source Code\n\n***IQKeyboardManagerSwift:*** Source code installation is not supported (since 7.2.0) because now the library depends on some other independent libraries. Due to this you may face compilation issues.\n\n#### Basic Usage\n\n### Minimal Setup (Core Only)\n\nIn `AppDelegate.swift`, import and enable IQKeyboardManager:\n\n```swift\nimport IQKeyboardManagerSwift\n\n@UIApplicationMain\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n\n    var window: UIWindow?\n\n    func application(_ application: UIApplication, \n                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n\n        \u002F\u002F Enable keyboard management\n        IQKeyboardManager.shared.isEnabled = true\n\n        return true\n    }\n}\n```\n\nThat's it! The keyboard will now automatically adjust to avoid covering text fields.\n\n### With Toolbar (Requires IQKeyboardToolbarManager Subspec)\n\n```swift\nimport IQKeyboardManagerSwift\n\nfunc application(_ application: UIApplication, \n                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n\n    \u002F\u002F Enable keyboard management\n    IQKeyboardManager.shared.isEnabled = true\n    \n    \u002F\u002F Enable toolbar (@Deprecated: Please use IQKeyboardToolbarManager pod independently)\n    IQKeyboardManager.shared.enableAutoToolbar = true\n\n    return true\n}\n```\n\n### With All Features\n\n```swift\nimport IQKeyboardManagerSwift\n\nfunc application(_ application: UIApplication, \n                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {\n\n    \u002F\u002F Core functionality\n    IQKeyboardManager.shared.isEnabled = true\n    IQKeyboardManager.shared.keyboardDistance = 20.0\n    \n    \u002F\u002F Toolbar (if using IQKeyboardToolbarManager subspec)\n    IQKeyboardManager.shared.enableAutoToolbar = true\n    \n    \u002F\u002F Tap to resign (if using Resign subspec)\n    IQKeyboardManager.shared.resignOnTouchOutside = true\n    \n    \u002F\u002F Appearance (if using Appearance subspec)\n    IQKeyboardManager.shared.keyboardConfiguration.overrideKeyboardAppearance = true\n    IQKeyboardManager.shared.keyboardConfiguration.keyboardAppearance = .dark\n\n    return true\n}\n```\n\n\nMigration Guide\n==========================\n- [IQKeyboardManager 2.0.0 Migration Guide](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FDocumentation\u002FMIGRATION%20GUIDE%201.0%20TO%202.0.md)\n- [IQKeyboardManager 3.0.0 Migration Guide](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FDocumentation\u002FMIGRATION%20GUIDE%202.0%20TO%203.0.md)\n- [IQKeyboardManager 4.0.0 Migration Guide](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FDocumentation\u002FMIGRATION%20GUIDE%203.0%20TO%204.0.md)\n- [IQKeyboardManager 5.0.0 Migration Guide](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FDocumentation\u002FMIGRATION%20GUIDE%204.0%20TO%205.0.md)\n- [IQKeyboardManager 6.0.0 Migration Guide](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FDocumentation\u002FMIGRATION%20GUIDE%205.0%20TO%206.0.md)\n- [IQKeyboardManager 7.0.0 Migration Guide](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FDocumentation\u002FMIGRATION%20GUIDE%206.0%20TO%207.0.md)\n- [IQKeyboardManager 8.0.0 Migration Guide](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fblob\u002Fmaster\u002FDocumentation\u002FMIGRATION%20GUIDE%207.0%20TO%208.0.md)\n\nOther Links\n==========================\n\n- [Known Issues](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fwiki\u002FKnown-Issues)\n- [Manual Management Tweaks](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fwiki\u002FManual-Management)\n- [Properties and functions usage](https:\u002F\u002Fgithub.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fwiki\u002FProperties-&-Functions)\n\n## Dependency Diagram\n[![IQKeyboardManager Dependency Diagram](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FIQKeyboardManagerDependency.jpg)](https:\u002F\u002Fraw.githubusercontent.com\u002Fhackiftekhar\u002FIQKeyboardManager\u002Fmaster\u002FScreenshot\u002FIQKeyboardManagerDependency.jpg)\n\nLICENSE\n---\nDistributed under the MIT License.\n\nContributions\n---\nAny contribution is more than welcome! You can contribute through pull requests and issues on GitHub.\n\nAuthor\n---\nIf you wish to contact me, email at: hack.iftekhar@gmail.com\n","IQKeyboardManager 是一个用于解决 iOS 应用中键盘遮挡 UITextField\u002FUITextView 问题的无代码库。其核心功能在于自动处理键盘弹出时的布局调整，无需开发者编写额外代码或进行复杂设置，支持 UITableView、UICollectionView 和 UIScrollView 等多种视图容器，并且能够适应所有界面方向。该库采用模块化架构设计，允许根据需要选择性地引入特定功能，如工具栏（包含上一个\u002F下一个\u002F完成按钮）、回车键行为自定义等。适用于任何希望简化键盘管理逻辑的 iOS 开发项目，特别是那些注重用户体验和开发效率的应用场景。","2026-06-11 03:08:14","top_language"]