Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freshos/keyboardlayoutguide
⌨️ KeyboardLayoutGuide, back from when it didn't exist.
https://github.com/freshos/keyboardlayoutguide
autolayout ios keyboard keyboard-layout layout layoutguide swift
Last synced: 6 days ago
JSON representation
⌨️ KeyboardLayoutGuide, back from when it didn't exist.
- Host: GitHub
- URL: https://github.com/freshos/keyboardlayoutguide
- Owner: freshOS
- License: mit
- Created: 2017-11-14T13:16:15.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-09-20T07:48:41.000Z (5 months ago)
- Last Synced: 2025-02-13T20:05:27.594Z (6 days ago)
- Topics: autolayout, ios, keyboard, keyboard-layout, layout, layoutguide, swift
- Language: Swift
- Homepage:
- Size: 5.79 MB
- Stars: 1,200
- Watchers: 14
- Forks: 59
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ⌨️ KeyboardLayoutGuide
*Apple's missing KeyboardLayoutGuide*[](https://developer.apple.com/swift)

[](https://swift.org/package-manager/)
[](https://app.bitrise.io/app/37eb1367c9a89767)
[](https://codebeat.co/projects/github-com-freshos-keyboardlayoutguide-master)
[](https://github.com/s4cha/Stevia/blob/master/LICENSE)
[](https://github.com/freshOS/KeyboardLayoutGuide/releases)- [x] No Subclassing / Protocol inheritance / obscure overrides
- [x] No more keyboard notification handling
- [x] `UIKit` Friendly
- [x] Takes `safeArea` into account
- [x] Only animates if view is fully on screen
## How to use it
Simply constrain your views to the KeyboardLayoutGuide's top anchor the way you would do natively:
```swift
override func viewDidLoad() {
super.viewDidLoad()// Pin your button to the keyboard
button.bottomAnchor.constraint(equalTo: view.keyboardLayoutGuide.topAnchor).isActive = true
}
```**Bonus**: if you're using [Stevia](https://github.com/freshOS/Stevia), this gets even more concise \o/
```swift
button.Bottom == view.keyboardLayoutGuide.Top
```If you add your view in Interface Builder, don't forget to enable the "**Remove at build time**" checkbox for the bottom constraint:
## Safe Area
By default, KeyboardLayoutGuide will align your item with the bottom safe area.
This is a behaviour that can be opt out by using `keyboardLayoutGuideNoSafeArea` instead of `keyboardLayoutGuide`.## Installation
The Swift Package Manager (SPM) is now the official way to install `KeyboardLayoutGuide`. The other package managers are now deprecated as of `1.7.0` and won't be supported in future versions.
#### Swift Package Manager
`Xcode` > `File` > `Swift Packages` > `Add Package Dependency...` > `Paste` `https://github.com/freshOS/KeyboardLayoutGuide`
### CocoaPods - Deprecated
To install `KeyboardLayoutGuide` via [CocoaPods](http://cocoapods.org), add the following line to your Podfile:
```
target 'MyAppName' do
pod 'Keyboard+LayoutGuide'
use_frameworks!
end
```### Carthage - Deprecated
To install `KeyboardLayoutGuide` via [Carthage](https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos), add the following line to your Cartfile:
```
github "freshos/KeyboardLayoutGuide"
```### Manually
Just add `Keyboard+LayoutGuide.swift` to your Xcode project.## License
`KeyboardLayoutGuide` is available under the MIT license. See the [LICENSE](LICENSE) file for more info.