键盘 1.1.0

Keyboard 1.1.0

测试已测试
Lang语言 SwiftSwift
许可协议 MIT
发布上次发布2019年4月
SPM支持SPM

Bell App Lab维护。




Keyboard 1.1.0

Keyboard Version License

Platforms Swift support CocoaPods Compatible Carthage compatible Swift Package Manager compatible Twitter

Keyboard

Moving the keyboard using autolayout from the bottom of the screen Moving the keyboard using frame-based layout Moving the keyboard using autolayout with mutiple text fields inside a view

永远 不要 实现 NSNotification.Name.UIKeyboardDidShow。永远不要。

是的,认真地说。在iOS上处理键盘不应该痛苦。但实际上它确实是。

所以,代替进行大量计算或将所有东西嵌入到UIScrollView中,导入 Keyboard然后 继续你的生活

规范

  • iOS 9+
  • Swift 4.2+

用法

步骤 1

使您的视图控制器符合 KeyboardChangeHandler 协议

import Keyboard


class ViewController: UIViewController, KeyboardChangeHandler {

步骤 2

开始处理键盘通知

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    becomeKeyboardChangeHandler()
}

override func viewWillDisappear(_ animated: Bool) {
    resignKeyboardChangeHandler()

    super.viewWillDisappear(animated)
}

步骤 3

ctrl + 拖动到您喜欢的 NSLayoutConstraint

Interface Builder NSLayoutConstraint

步骤 4

继续享受生活

加分项

键盘附带一些您可能会喜欢的特性

  • 键盘 单例
Keyboard.default.isVisible //tells you if the keyboard is currently visible
Keyboard.default.currentFrame //tells you the keyboard's frame
  • 关闭键盘处理
class ViewController: UIViewController {
    override func awakeFromNib() {
        super.awakeFromNib()

        //do this if you have set up a bunch of outlets on Interface Builder
        //but don't want Keyboard to work on this view controller for now
        handlesKeyboard = false
    }
}
  • 键盘边距
override func viewDidLoad() {
    super.viewDidLoad()

    [...]

    //adds a margin between the keyboard and the currently active text input
    //defaults to 40.0
    keyboardMargin = 60.0
}
  • 查找当前活动文本输入
self.view.currentFirstResponder
UIResponder.currentFirstResponder

须知

  • 如果模拟器没有立即显示键盘,请按 cmd+K

  • 可能您会在控制台看到以下消息(这不会以任何方式影响库)

    _BSMachError: (os/kern) invalid capability (20)
    _BSMachError: (os/kern) invalid name (15)

迁移

  • 从 v0.6.0 开始:如果您是从 0.6.0 版本迁移,请查看这里

安装

CocoaPods

pod 'Keyboard', '~> 1.1'

然后,在需要的地方导入Keyboard

Carthage

github "BellAppLab/Keyboard" ~> 1.1

然后,在需要的地方导入Keyboard

Swift 包管理器

dependencies: [
    .package(url: "https://github.com/BellAppLab/Keyboard", from: "1.1")
]

然后,在需要的地方导入Keyboard

Git 子模块

cd toYourProjectsFolder
git submodule add -b submodule --name Keyboard https://github.com/BellAppLab/Keyboard.git

然后,将Keyboard文件夹拖放到您的 Xcode 项目中。

作者

Bell App Lab, [email protected]

致谢

标志图像Gregor Cresnar 来自 名词项目

许可证

键盘可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。