{"id":20468836,"url":"https://github.com/xifenglang/jkkeyboardobserver","last_synced_at":"2025-07-30T16:41:25.202Z","repository":{"id":209430099,"uuid":"53849616","full_name":"XiFengLang/JKKeyboardObserver","owner":"XiFengLang","description":"iOS全局监听键盘活动","archived":false,"fork":false,"pushed_at":"2017-04-26T09:51:50.000Z","size":593,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-07T07:02:20.373Z","etag":null,"topics":["iqkeyboardmanager","keyboard","keyboardmanager"],"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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XiFengLang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-03-14T11:07:21.000Z","updated_at":"2024-02-06T20:03:58.000Z","dependencies_parsed_at":"2023-11-27T10:34:53.103Z","dependency_job_id":"63e93ce8-394e-4e1a-b024-d29eb4144af6","html_url":"https://github.com/XiFengLang/JKKeyboardObserver","commit_stats":null,"previous_names":["xifenglang/jkkeyboardobserver"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/XiFengLang/JKKeyboardObserver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiFengLang%2FJKKeyboardObserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiFengLang%2FJKKeyboardObserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiFengLang%2FJKKeyboardObserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiFengLang%2FJKKeyboardObserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XiFengLang","download_url":"https://codeload.github.com/XiFengLang/JKKeyboardObserver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XiFengLang%2FJKKeyboardObserver/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260481982,"owners_count":23015843,"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":["iqkeyboardmanager","keyboard","keyboardmanager"],"created_at":"2024-11-15T14:06:59.870Z","updated_at":"2025-06-18T03:33:32.025Z","avatar_url":"https://github.com/XiFengLang.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![version](https://img.shields.io/badge/Version-v1.2.0-blue.svg) ![platform](https://img.shields.io/badge/platform-iOS-ligtgrey.svg)  ![ios](https://img.shields.io/badge/Requirements-iOS8%2B-green.svg)\n\n## JKKeyboardManager\n\n全局监听键盘弹出事件，自动处理键盘遮盖问题，动态调整输入框和键盘的相对位置。\n\n\n## Usage\n\n* 在`application didFinishLaunchingWithOptions` 中初始化并设置全局属性\n\n```Object-C\n\n    KeyboardManager().robotizationEnable = YES;\n    // 设置键盘到输入框的距离\n    KeyboardManager().topSpacingToFirstResponder = 20;\n    // 显示自定义的toolBar，切换输入框或者隐藏键盘\n    KeyboardManager().showExtensionToolBar = YES;\n    \n    // 内联函数，返回单例\n\tstatic inline JKKeyboardManager * KeyboardManager() {\n\t    return [JKKeyboardManager sharedKeyboardManager];\n\t}\n```\n\n\n* 为特定类定制属性，比如键盘到输入框的距离\n\n```Object-C\n\t[KeyboardManager() setTopSpacingToFirstResponder:30 forViewControllerClass:self.class];\n```\n\n\n## 其他\n\n* 隐藏键盘（全局效果）\n\n```Object-C\n   [KeyboardManager() hideKeyboard];\n```\n\n* 取当前显示的window\n\n```Object-C\n\tKeyboardManager().keyWindow\n```\n\n* 取最上层的控制器（当前显示的控制器）\n\n```Object-C\n\tKeyboardManager().currentViewController\n```\n\n![gif](http://wx1.sinaimg.cn/mw690/c56eaed1gy1fetak12q21g20bf0kjtlg.gif)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxifenglang%2Fjkkeyboardobserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxifenglang%2Fjkkeyboardobserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxifenglang%2Fjkkeyboardobserver/lists"}