{"id":2566,"url":"https://github.com/ibireme/YYKeyboardManager","last_synced_at":"2025-08-03T00:31:58.516Z","repository":{"id":56930028,"uuid":"45829949","full_name":"ibireme/YYKeyboardManager","owner":"ibireme","description":"iOS utility class allows you to access keyboard view and track keyboard animation.","archived":false,"fork":false,"pushed_at":"2018-06-20T09:44:37.000Z","size":1726,"stargazers_count":483,"open_issues_count":7,"forks_count":82,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-05-09T20:06:59.645Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ibireme.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-09T10:03:47.000Z","updated_at":"2024-04-03T01:43:50.000Z","dependencies_parsed_at":"2022-08-21T00:01:11.886Z","dependency_job_id":null,"html_url":"https://github.com/ibireme/YYKeyboardManager","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibireme%2FYYKeyboardManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibireme%2FYYKeyboardManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibireme%2FYYKeyboardManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibireme%2FYYKeyboardManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibireme","download_url":"https://codeload.github.com/ibireme/YYKeyboardManager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228510732,"owners_count":17931759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:16:17.062Z","updated_at":"2024-12-06T18:30:34.384Z","avatar_url":"https://github.com/ibireme.png","language":"Objective-C","readme":"YYKeyboardManager\n==============\n\n[![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/ibireme/YYKeyboardManager/master/LICENSE)\u0026nbsp;\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\u0026nbsp;\n[![CocoaPods](http://img.shields.io/cocoapods/v/YYKeyboardManager.svg?style=flat)](http://cocoapods.org/pods/YYKeyboardManager)\u0026nbsp;\n[![CocoaPods](http://img.shields.io/cocoapods/p/YYKeyboardManager.svg?style=flat)](http://cocoadocs.org/docsets/YYKeyboardManager)\u0026nbsp;\n[![Support](https://img.shields.io/badge/support-iOS%206%2B%20-blue.svg?style=flat)](https://www.apple.com/nl/ios/)\u0026nbsp;\n[![Build Status](https://travis-ci.org/ibireme/YYKeyboardManager.svg?branch=master)](https://travis-ci.org/ibireme/YYKeyboardManager)\n\niOS utility class allows you to access keyboard view and track keyboard animation.\u003cbr/\u003e\n(It was used by [YYText](https://github.com/ibireme/YYText))\n\n\u003e ![demo](https://raw.github.com/ibireme/YYKeyboardManager/master/Demo/snapshot.gif\n)\n\nCompatibility\n==============\niPhone / iPad / iPod with iOS 6~11.\n\n\nUsage\n==============\n```objc\n// Get keyboard manager\nYYKeyboardManager *manager = [YYKeyboardManager defaultManager];\n\t\n// Get keyboard view and window\nUIView *view = manager.keyboardView;\nUIWindow *window = manager.keyboardWindow;\n\t\n// Get keyboard status\nBOOL visible = manager.keyboardVisible;\nCGRect frame = manager.keyboardFrame;\nframe = [manager convertRect:frame toView:self.view];\n\t\n// Track keyboard animation\n[manager addObserver:self];\n- (void)keyboardChangedWithTransition:(YYKeyboardTransition)transition {\n    CGRect fromFrame = [manager convertRect:transition.fromFrame toView:self.view];\n    CGRect toFrame =  [manager convertRect:transition.toFrame toView:self.view];\n    BOOL fromVisible = transition.fromVisible;\n    BOOL toVisible = transition.toVisible;\n    NSTimeInterval animationDuration = transition.animationDuration;\n    UIViewAnimationCurve curve = transition.animationCurve;\n}\n```\n\nInstallation\n==============\n\n### CocoaPods\n\n1. Add `pod 'YYKeyboardManager'` to your Podfile.\n2. Run `pod install` or `pod update`.\n3. Import \\\u003cYYKeyboardManager/YYKeyboardManager.h\\\u003e.\n\n\n### Carthage\n\n1. Add `github \"ibireme/YYKeyboardManager\"` to your Cartfile.\n2. Run `carthage update --platform ios` and add the framework to your project.\n3. Import \\\u003cYYKeyboardManager/YYKeyboardManager.h\\\u003e.\n\n\n### Manually\n\n1. Download all the files in the YYKeyboardManager subdirectory.\n2. Add the source files to your Xcode project.\n3. Import `YYKeyboardManager.h`.\n\n\nDocumentation\n==============\nFull API documentation is available on [CocoaDocs](http://cocoadocs.org/docsets/YYKeyboardManager/).\u003cbr/\u003e\nYou can also install documentation locally using [appledoc](https://github.com/tomaz/appledoc).\n\n\nRequirements\n==============\nThis library requires `iOS 6.0+` and `Xcode 8.0+`.\n\n\nLicense\n==============\nYYKeyboardManager is provided under the MIT license. See LICENSE file for details.\n\n\n\n\u003cbr/\u003e\u003cbr/\u003e\n---\n中文介绍\n==============\niOS 键盘监听管理工具类。\u003cbr/\u003e\n(该工具是从 [YYText](https://github.com/ibireme/YYText) 提取出来的独立组件)\n\n\u003e ![demo](https://raw.github.com/ibireme/YYKeyboardManager/master/Demo/snapshot.gif\n)\n\n兼容性\n==============\n该项目能很好的兼容 iPhone / iPad / iPod，兼容 iOS 6~11，\n并且能很好的处理屏幕旋转。\n\n用法\n==============\n```objc\n// 获取键盘管理器\nYYKeyboardManager *manager = [YYKeyboardManager defaultManager];\n\t\n// 获取键盘的 view 和 window\nUIView *view = manager.keyboardView;\nUIWindow *window = manager.keyboardWindow;\n\t\n// 获取键盘当前状态\nBOOL visible = manager.keyboardVisible;\nCGRect frame = manager.keyboardFrame;\nframe = [manager convertRect:frame toView:self.view];\n\t\n// 监听键盘动画\n[manager addObserver:self];\n- (void)keyboardChangedWithTransition:(YYKeyboardTransition)transition {\n    CGRect fromFrame = [manager convertRect:transition.fromFrame toView:self.view];\n    CGRect toFrame =  [manager convertRect:transition.toFrame toView:self.view];\n    BOOL fromVisible = transition.fromVisible;\n    BOOL toVisible = transition.toVisible;\n    NSTimeInterval animationDuration = transition.animationDuration;\n    UIViewAnimationCurve curve = transition.animationCurve;\n}\n```\n\n安装\n==============\n\n### CocoaPods\n\n1. 在 Podfile 中添加 `pod 'YYKeyboardManager'`。\n2. 执行 `pod install` 或 `pod update`。\n3. 导入 \\\u003cYYKeyboardManager/YYKeyboardManager.h\\\u003e。\n\n\n### Carthage\n\n1. 在 Cartfile 中添加 `github \"ibireme/YYKeyboardManager\"`。\n2. 执行 `carthage update --platform ios` 并将生成的 framework 添加到你的工程。\n3. 导入 \\\u003cYYKeyboardManager/YYKeyboardManager.h\\\u003e。\n\n\n### 手动安装\n\n1. 下载 YYKeyboardManager 文件夹内的所有内容。\n2. 将 YYKeyboardManager 内的源文件添加(拖放)到你的工程。\n3. 导入 `YYKeyboardManager.h`。\n\n\n文档\n==============\n你可以在 [CocoaDocs](http://cocoadocs.org/docsets/YYKeyboardManager/) 查看在线 API 文档，也可以用 [appledoc](https://github.com/tomaz/appledoc) 本地生成文档。\n\n\n系统要求\n==============\n该项目最低支持 `iOS 6.0` 和 `Xcode 8.0`。\n\n\n许可证\n==============\nYYKeyboardManager 使用 MIT 许可证，详情见 LICENSE 文件。\n\n\n","funding_links":[],"categories":["UI","iOS"],"sub_categories":["Keyboard","Other free courses","YYKit"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibireme%2FYYKeyboardManager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibireme%2FYYKeyboardManager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibireme%2FYYKeyboardManager/lists"}