今天,我想与大家分享我在SwiftUI中经常使用的一种技术Template-View。当我需要使用支持动态类型的相等大小的视图放置垂直或水平堆栈时,它可以帮助我解决问题。假设您正在使用的视图应该代表一周中每一天的平均心率。我将使用带有文本组件的水平堆栈来实现该视图。
import SwiftUI
struct ContentView: View {
var body: some View {
WeekView(heartRates: [80,78,69,120,59,67])
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
struct WeekView: View {
let heartRates: [Int]
var body: some View {
HStack {
ForEach(self.heartRates, id: \.self) { hr in
Text(String(hr))
.padding(4)
.background(Color.purple)
.cornerRadius(4)
}
}
}
}