键盘工具栏

一个用于 iOS 键盘的 SwiftUI 工具栏。

KeyboardToolbarPreview

您可以在 示例文件 中找到 Tests/ExampleViews

安装

支持 iOS 14.0+。

Swift 包管理器

https://github.com/cameronshemilt/KeyboardToolbar 添加到您的 包依赖项中。

用法

键盘工具栏可以包含您提供的多个 KeyboardToolbarItem。您还可以通过 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)
    }
}

API

键盘工具栏

参数 类型 可选 描述
items [KeyboardToolbarItem] 您希望工具栏包含的所有 KeyboardToolbarItems。
style KeyboardToolbarStyle 工具栏的样式。

通过将 .keyboardToolbar(...) 附加到您的 View 的最外层部分来使用。

KeyboardToolbarItem

工具栏项可以是图像/图标或文本。

基于图像

参数 类型 可选 描述
image Image 工具栏图标的图像/图标。为 systemNameimageName 提供了便捷的初始化器
color Color 图像/图标的颜色
isFixed KeyboardToolbarEdge? 项目是否应该是粘性的。可能的值:nil.leading.trailing
callback () -> Void 按下项目时应执行的操作

基于文本

参数 类型 可选 描述
text String 工具栏项的文本。替代显示图像的方法。
color Color 图像/图标的颜色
isFixed KeyboardToolbarEdge? 项目是否应该是粘性的。可能的值:nil.leading.trailing
callback () -> Void 按下项目时应执行的操作

预设

KeyboardToolbarStyle

参数 类型 可选 描述
backgroundColor Color 工具栏的背景颜色。
height CGFloat 工具栏的高度。
itemSize CGFloat 工具栏项的大小。
itemSpacing CGFloat 工具栏项之间的间距。
dividerColor Color 工具栏上方分隔线的颜色,以及固定项和非固定项之间分隔线的颜色。
dividerWidth CGFloat 分隔线的宽度。

预设