Styling

KeyboardKit lets you style your keyboards to great extent.

🎨

Overview

While native iOS keyboards have few ways to customize the look and feel, KeyboardKit keyboards can be styled and customized to great extent, using style services and view modifiers.

KeyboardKit Pro unlocks a powerful theme engine, and many more ways to style a keyboard.

Namespace

KeyboardKit has a KeyboardStyle namespace that contains style-related types.

Services

A KeyboardStyleService can provide dynamic styles for different parts of a keyboard. Unlike static styles, a style service can vary styles depending on KeyboardContext, KeyboardAction, etc.

This style service concept will be phased out through KeyboardKit 9 and replaced by view modifiers.

Colors & Images

KeyboardKit defines keyboard-specific Color and Image extensions, etc. that make it easy to create keyboards that look like a native iOS keyboard.

Image Extensions
Color Extensions

See the documentation for more information about colors and images, including some important information about how some colors are semi-transparent to work around a system bug in iOS.

Type Extensions

Many KeyboardKit types define standard images, texts & colors. For instance you can get a standard image and text for a KeyboardAction with standardButtonImage(for:) and standardButtonText(for:):

let context = KeyboardContext()
let image = KeyboardAction.command.standardButtonImage(for: context) // Command icon
let text = KeyboardAction.space.standardButtonText(for: context)     // KKL10n.space

Style Modifiers

KeyboardKit defines custom styles for its various view. For instance, the Keyboard.Button view has a Keyboard.ButtonStyle that can be applied with the .keyboardButtonStyle(_:) view modifier.

Most views have standard styles that can be replaced by a custom style to change the default style.

πŸ‘‘ KeyboardKit Pro

KeyboardKit Pro unlocks additional image assets, and a KeyboardTheme engine that makes easier to style keyboards with themes.

Emoji Icons

KeyboardKit Pro emoji-specific, vectorized assets, like the .keyboardEmoji and .emojiCategory(_:):

Emoji Images

Themes

KeyboardKit Pro unlocks a KeyboardTheme engine that makes easier to style keyboards with themes:

Standard Green Theme
Swifty Blue Theme
Cotton Candy Theme

See themes for more information.

Documentation

The information on this page is shortened to be easier to overview. For more information see the online documentation, or the KeyboardKit Pro documentation.


Core Features

KeyboardKit is packed with features. You can upgrade to KeyboardKit Pro to unlock pro features.

πŸ‘‘ Pro Features

KeyboardKit Pro unlocks powerful pro features to take your keyboard extension to the next level.