我正在试图找到一种方法来标记哪些内容与当TextField被聚焦时弹出的键盘重叠.

请考虑下面的最小示例:

VStack {
            
    TextField(text: $text) {}
            
    Spacer()
            
    Circle()
        .frame(width: 100, height: 100)
}

我正在寻找一个定制的修改器,我可以适用于Circle.这将决定键盘是否应该像默认的那样将Circle向上推到键盘上方,或者键盘是否应该与Circle重叠(我也不确定如何让键盘简单地重叠一个视图).

到目前为止,我已经找到了主要的目标C解决方案.有什么快捷的方法可以解决这个问题吗?谢谢你的帮助!

推荐答案

如果我正确理解了您的目标,那么您不需要自定义修饰符--有标准修饰符,您可以添加或删除,或与某些条件一起使用.

VStack {
    TextField(text: $text) {}
        .textFieldStyle(.roundedBorder)

    VStack {
        Spacer()

        Circle()
            .frame(width: 100, height: 100)
    }
    .ignoresSafeArea(.keyboard, edges: .bottom)    // << here !!
    //.ignoresSafeArea(yourFlag ? .keyboard : .container, edges: .bottom) // << alternate
}

Swift相关问答推荐

WWDC Swift并发会话中的厨房服务示例令人困惑

OBJC代码中Swift 演员的伊瓦尔:原子还是非原子?

SwiftUI map 旋转

将`@Environment`值赋给`Binding`参数

如何将图像插入到矩形中

按SWIFT中每个ID的最大值进行筛选/排序

SwiftUI-如何使用剩余时间制作倒计时计时器

Result类型的初始值设定项失败?

如何使用模型在 SwiftUI 的列表中进行搜索

UIView.convert(_ point:to:)的意外行为

deinitialize() 与 deallocate()

如何裁剪图像 3:4 ?迅速

调用从 SwiftUI 视图传递到 PageViewController.Coordinator 的函数

如何获取 NSRunningApplication 的参数?

如何仅将 SwiftUI 不透明度应用于父视图?

FirebaseStorage:如何删除目录

快速在 LLDB 中使用 po

如何从 UITableViewCell 类中引用 UITableViewController?

如何快速从另一个视图控制器重新加载表格视图

如何在 Swift 中从字符串创建类的实例