在 SwiftUI 中显示键盘上方的视图 [关闭]

Posted

技术标签:

【中文标题】在 SwiftUI 中显示键盘上方的视图 [关闭]【英文标题】:Present View above keyboard in SwiftUI [closed] 【发布时间】:2022-01-04 03:30:14 【问题描述】:

我希望能够呈现与键盘顶部底部对齐的视图,而不管设备如何。我正在尝试严格使用 SwiftUI,因为我不知道 UIKit。我附上了上述解决方案的图片。

有人可以向我展示一个可在 SwiftUI 中工作以实现此基本结果的编码解决方案吗?谢谢。

我使用了.toolbar 修饰符,通过自定义视图破解了我想要的结果。仍然想知道是否有其他解决方案可能更清洁,因为它不是预期的使用方式。

【问题讨论】:

【参考方案1】:

只需在.keyboard 上创建一个ToolbarItem

代码:

struct ContentView: View 
    @State private var text = "Hello world!"

    var body: some View 
        TextField("Text", text: $text)
            .toolbar 
                ToolbarItem(placement: .keyboard) 
                    Text("Keyboard item")
                
            
    

结果:

【讨论】:

我实际上已经将其作为一种解决方案,但是您如何修改工具栏的大小以使其不只是像我展示的屏幕截图那样适合单行项目? @JustinComstock 你可以用任何你想要的东西代替Text,比如包含你的内容的VStack

以上是关于在 SwiftUI 中显示键盘上方的视图 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Swift/SwiftUI - 删除键盘上方的空间

键盘处理 swiftui

如何在 UIWebView 上的键盘上方显示工具栏 [关闭]

文本字段点击正在关闭 SwiftUI 中的导航链接

SwiftUI 显示/关闭键盘

SwiftUI 中的列表视图在列表上方显示我无法摆脱的灰色区域