Popover functionality breaks when enabled for multiple section buttons, but works as intended when limited to one.
<code>struct ContentView: View {
var items = ["Note 1", "Note 2", "Note 3"]
@State private var showPopover = false
@State private var note = ""
var body: some View {
List {
Section {
ForEach(items, id: .self) { item in
VStack {
Text(item)
.padding()
Button(action: {
note = item
showPopover.toggle()
}, label: {
Text("Notes")
})
.popover(isPresented: $showPopover) {
Text(item)
.padding()
.foregroundStyle(Color.red)
.font(.body)
.lineLimit(nil)
.presentationCompactAdaptation(.popover)
}
}
.frame(maxWidth: .infinity)
}
}
}
}
}
</code>
<code>struct ContentView: View {
var items = ["Note 1", "Note 2", "Note 3"]
@State private var showPopover = false
@State private var note = ""
var body: some View {
List {
Section {
ForEach(items, id: .self) { item in
VStack {
Text(item)
.padding()
Button(action: {
note = item
showPopover.toggle()
}, label: {
Text("Notes")
})
.popover(isPresented: $showPopover) {
Text(item)
.padding()
.foregroundStyle(Color.red)
.font(.body)
.lineLimit(nil)
.presentationCompactAdaptation(.popover)
}
}
.frame(maxWidth: .infinity)
}
}
}
}
}
</code>
struct ContentView: View {
var items = ["Note 1", "Note 2", "Note 3"]
@State private var showPopover = false
@State private var note = ""
var body: some View {
List {
Section {
ForEach(items, id: .self) { item in
VStack {
Text(item)
.padding()
Button(action: {
note = item
showPopover.toggle()
}, label: {
Text("Notes")
})
.popover(isPresented: $showPopover) {
Text(item)
.padding()
.foregroundStyle(Color.red)
.font(.body)
.lineLimit(nil)
.presentationCompactAdaptation(.popover)
}
}
.frame(maxWidth: .infinity)
}
}
}
}
}
Although each section is intended to display notes via popovers, SwiftUI appears to have limitations in handling this functionality across multiple sections.