如何传递给定偏好键的多个偏好?
var body: some View {
MyTabView {
Page1()
.preference(key: TabItemPreferenceKey.self, value: [TabItemPreference(tag: 0, item: AnyView(Text("Tab 1")) ) ] )
Page2()
.preference(key: TabItemPreferenceKey.self, value: [TabItemPreference(tag: 1, item: AnyView(Text("Tab 12")) ) ] )
然后在MyTabView中,我尝试访问此首选项,但只有第一个首选项可用
.onPreferenceChange(TabItemPreferenceKey.self) { preferences in
preferences.forEach { p in
self.items.tabItems.append((tag: p.tag, tab: p.item))
}
}
您可以使用
.transformPreference( _, _)
合并多个首选项