SwiftUI 如何讓 List 中的 Button 正常運行
【 Swift 】目前要在SwiftUI中加入Button 到 List中,會導致點擊不正常,若只有一個按鈕倒是沒什麼問題,整個欄位點擊就會對應那個單一按鈕促發的事件。但今天的情況如果是需要一個以上的按鈕呢?
這時候問題就來了! 這種情況下,點擊表格就會無法準確指定要促發哪個按鈕。一般來說,網路上都會推薦您使用Foreach的方式去呈現,沒錯,這樣確實能讓每個按鈕都正常運作,但是當資料量到一個程度這將導致效能大幅下降,明顯呈現畫面延遲,因此最後還是得回到List。那今天要怎麼解決這個問題呢?簡單!請看!
技術相關 :SwiftUI ButtonStyle PlainButtonStyle List
List(0 ..< 20){index in
HStack{
Button {
//event1
} label: {
Text("button1")
}
.buttonStyle(.plain)
Button {
//event2
} label: {
Text("button2")
}
.buttonStyle(.plain)
}
}
沒有錯!就是這個修飾符 .buttonStyle(.plain) , 帶上他,就能讓我們Button在List中正常運作了!又或者這邊可以使用 .buttonStyle(PlainButtonStyle()),兩者是一樣的