键盘 1.1.0

Keyboard 1.1.0

测试已测试
语言语言 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+

用法

第一步

使视图控制器符合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单例
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 Package Manager

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

然后在需要的地方导入Keyboard

Git Submodules

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

然后将Keyboard文件夹拖入你的Xcode项目。

作者

Bell App Lab,[email protected]

致谢

标志图像Gregor Cresnar 来自 Noun Project

许可证

Keyboard遵循MIT许可证。有关更多信息,请参阅LICENSE文件。