gpt4 book ai didi

swift - SwiftUI Xcode 12 for macOS App 工具栏中的搜索栏

转载 作者:行者123 更新时间:2023-12-05 06:09:03 24 4
gpt4 key购买 nike

在 Xcode (12) 的最新迭代中,现在 App 顶部默认有一个工具栏。

我喜欢这个设计,但我还不太了解如何使用它。它的工作方式似乎与普通 View 不同。 enter image description here现在我想在其中添加一个搜索栏,以自适应布局覆盖所有可能的空间。但这似乎不起作用。至少不像在普通的 View 中那样。 (我必须补充一点,就 SwiftUI 而言,我还不是最有经验的)。

这就是我的搜索栏现在的样子(Button 旁边的蓝色小东西,只有在我输入时才会展开):

这是我的主 View 中工具栏的相应代码:

var body: some View {
List {
ForEach(items) { item in
if !installedOnly || item.installed {
Text("\(item.name!)")
.foregroundColor(item.installed && !installedOnly ? .green : .white)
}
}
.onDelete(perform: deleteItems)
}
.toolbar {
HStack{
TextField("", text: $search_term)
.frame(minWidth: 0, maxWidth: .infinity, minHeight: /*@START_MENU_TOKEN@*/0/*@END_MENU_TOKEN@*/, maxHeight: /*@START_MENU_TOKEN@*/.infinity/*@END_MENU_TOKEN@*/, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
Button(action: togglePinned) {
Label("Add Item", systemImage: installedOnly ? "pin.fill" : "pin")
}
Button(action: getApps) {
Label("Add Item", systemImage: "arrow.clockwise")
}
}
}
}

非常感谢任何反馈!

最佳答案

不要将 HStack 用于工具栏内容。工具栏中的每个 View 都是一个项目。

.toolbar {
TextField("", text: $search_term)
.textFieldStyle(RoundedBorderTextFieldStyle())
.frame(minWidth: 200)
Button(action: togglePinned) {
Label("Add Item", systemImage: installedOnly ? "pin.fill" : "pin")
}
Button(action: getApps) {
Label("Add Item", systemImage: "arrow.clockwise")
}
}

关于swift - SwiftUI Xcode 12 for macOS App 工具栏中的搜索栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64937531/

24 4 0