Clavier is Keyboard Layout Guide for iOS. It using an intersection frame to calculate the Layout Guide.
To run the example project, clone the repo, and run
pod install from the Example directory first.
Clavier is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Clavier', '~> 2.0.3'
Add as your target dependency in Package.swift
dependencies: [ .package(url: "https://github.com/hainayanda/Clavier.git", .upToNextMajor(from: "2.0.3")) ]
Use it in your target as
.target( name: "MyModule", dependencies: ["Clavier"] )
Nayanda Haberty, [email protected]
Clavier is available under the MIT license. See the LICENSE file for more info.
Clavier is the Keyboard Layout Guide created to make constraints to the keyboard. It will automatically change on the keyboard changes. It calculates the intersection frame of the Keyboard and the
UIView. As you can see in the picture below:
If the keyboard did not intersect with the view, it will always use the most bottom of the
UIView with zero height for the regular one, or most bottom of the safe area when using a safe one
If the keyboard is hidden, it will always use the most bottom of the UIView with zero height for the regular one, or most bottom of the safe area when using a safe one
To use Clavier, just use
clavierLayoutGuide from any
safeClavierLayoutGuide if you prefer the one intersect with the safe area. it is an instance of
ClavierLayoutGuide class which extend
UILayoutGuide so it has all its anchors, like
or with safe area:
myView will automatically move according to keyboard layout guide frame changes.
Since its subclass of UILayoutGuide, it has layoutFrame which is the intersection frame with keyboard frame, if you need it:
let frameIntersectWithKeyboard: CGRect = view.clavierLayoutGuide.layoutFrame
or with safe area:
let frameIntersectWithKeyboard: CGRect = view.safeClavierLayoutGuide.layoutFrame
On iOS 15, Clavier will defaultly use
keyboardLayoutGuide from UIKit. on
safeClavierLayoutGuide, it will use custom class that utilize
You can explicitly disable iOS 15
keyboardLayoutGuide if you want by set directly with the view or by using global config.
myView.usingAppleKeyboardLayoutGuideIfAvailable = false // or to apply as default with all view ClavierGlobalConfig.usingAppleKeyboardLayoutGuideIfAvailable = false
You know how, just clone and do pull request
|Last commit: 10 weeks ago|
usingAppleKeyboardLayoutGuideIfAvailableas the default keyboard layout guide selection
usingAppleKeyboardLayoutGuideIfAvailableextension to UIView as view keyboard layout guide selection
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics