SwiftUI首选项,transformPreference,onPreferenceChanged

问题描述 投票:0回答:1

如何传递给定偏好键的多个偏好?

 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))
                }
            }
swiftui preferences
1个回答
0
投票

您可以使用

.transformPreference( _, _) 

合并多个首选项

© www.soinside.com 2019 - 2024. All rights reserved.