gpt4 book ai didi

OSX 中的 SwiftUI 自定义文本字段

转载 作者:行者123 更新时间:2023-12-04 00:01:53 25 4
gpt4 key购买 nike

我正在 SwiftUI 中为 Mac OSX 创建一个编辑 View 。用户可以更改他的个人资料。目前我使用的是默认 Text()元素来查看他的当前值/设置。

现在我想创建一个编辑模式。我已经创建了一个按钮,用于切换编辑模式。如果编辑模式被激活,我用一个 TextField 替换每个 Text。

当我查看 Apple 的 Mac OSX 通讯录时,我发现他们使用了不同类型的文本字段(见图)

enter image description here

enter image description here

是否可以在 SwiftUI 和 OSX 中使用这种元素?他们叫什么,或者他们只是自定义的带边框的 TextFields?我找不到任何关于它们的官方文档。如果有人找到它,我会很高兴。

最佳答案

嗯,一般来说,您只需要 PlainTextFieldStyle ,但由于目前 SwiftUI 不允许关闭对焦环,因此下面有一些解决方法可以为所有文本字段全局禁用它。

无论如何......我认为值得发布,所以在这里(使用Xcode 11.3测试)

enter image description here

extension NSTextField { // << workaround !!!
open override var focusRingType: NSFocusRingType {
get { .none }
set { }
}
}

struct ContentView: View {
@State private var text = ""
var body: some View {
HStack {
Text("Mobil")
TextField("", text: $text)
.textFieldStyle(PlainTextFieldStyle())
.padding(1)
.background(RoundedRectangle(cornerRadius: 2).stroke(Color.white))
.frame(width: 100)
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.black)
}
}

关于OSX 中的 SwiftUI 自定义文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60284197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com