A SwiftUI Toolbar for your iOS keyboard.
You can find example files in Tests/ExampleViews.
Supports iOS 14.0+.
Add https://github.com/cameronshemilt/KeyboardToolbar to your Package Dependencies.
The KeyboardToolbar can contain multiple KeyboardToolbarItems you provide.
You can additionally style the toolbar (size, color, padding etc.) via a KeyboardToolbarStyle.
import KeyboardToolbar
let toolbarItems: [KeyboardToolbarItem] = [
    .init(systemName: "bold", callback: {}),
    .init(systemName: "italic", callback: {}),
    .init(systemName: "underline", callback: {}),
    .dismissKeyboard
]
struct ContentView: View {
    @State private var text: String = ""
    
    var body: some View {
        Form {
            TextField("Input", text: $text)
        }
        .keyboardToolbar(toolbarItems)
    }
}| Parameter | Type | Optional | Description | 
|---|---|---|---|
| items | [KeyboardToolbarItem] | No | All of the KeyboardToolbarItems you want the Toolbar to contain. | 
| style | KeyboardToolbarStyle | Yes | The styling of the toolbar. | 
Use by attaching .keyboardToolbar(...) to the outermost part of your View.
Toolbar items can either be an image/icon or text.
| Parameter | Type | Optional | Description | 
|---|---|---|---|
| image | Image | No | The image/icon of the toolbar icon. Convenience initializers exist for systemName and imageName | 
| color | Color | Yes | Color of the image/icon | 
| isFixed | KeyboardToolbarEdge? | Yes | Whether the item should be sticky or not. Possible values: nil,.leadingor.trailing. | 
| callback | () -> Void | No | Action the item should perform when pressed | 
| Parameter | Type | Optional | Description | 
|---|---|---|---|
| text | String | No | The text of the toolbar item. Alternative to displaying an image. | 
| color | Color | Yes | Color of the image/icon | 
| isFixed | KeyboardToolbarEdge? | Yes | Whether the item should be sticky or not. Possible values: nil,.leadingor.trailing. | 
| callback | () -> Void | No | Action the item should perform when pressed | 
- .dismissKeyboard: A button fixed to the right side that will dismiss the keyboard when tapped.
| Parameter | Type | Optional | Description | 
|---|---|---|---|
| backgroundColor | Color | Yes | The background color of the toolbar. | 
| height | CGFloat | Yes | Height of the toolbar. | 
| itemSize | CGFloat | Yes | Size of the toolbar items. | 
| itemSpacing | CGFloat | Yes | Spacing between the toolbar items. | 
| dividerColor | Color | Yes | Color of the divider above the toolbar, as well as the dividers between the fixed and not fixed items. | 
| dividerWidth | CGFloat | Yes | Width of the dividers. | 
- .standard
- .contrast
