diff --git a/DynamicIsland/ContentView.swift b/DynamicIsland/ContentView.swift index 44ca54b..8c2bb5d 100644 --- a/DynamicIsland/ContentView.swift +++ b/DynamicIsland/ContentView.swift @@ -774,7 +774,6 @@ struct ContentView: View { .transition(tabSwitchTransition) } } - .clipped() .zIndex(1) .allowsHitTesting(vm.notchState == .open) .blur(radius: abs(gestureProgress) > 0.3 ? min(abs(gestureProgress), 8) : 0) diff --git a/DynamicIsland/components/Tabs/TabSelectionView.swift b/DynamicIsland/components/Tabs/TabSelectionView.swift index c75ab59..caf7efe 100644 --- a/DynamicIsland/components/Tabs/TabSelectionView.swift +++ b/DynamicIsland/components/Tabs/TabSelectionView.swift @@ -107,12 +107,10 @@ struct TabSelectionView: View { let isSelected = isSelected(tab) let activeAccent = tab.accentColor ?? .white TabButton(label: tab.label, icon: tab.icon, selected: isSelected) { - withAnimation(.smooth(duration: 0.3)) { - if tab.view == .extensionExperience { - coordinator.selectedExtensionExperienceID = tab.experienceID - } - coordinator.currentView = tab.view + if tab.view == .extensionExperience { + coordinator.selectedExtensionExperienceID = tab.experienceID } + coordinator.currentView = tab.view } .frame(height: 26) .foregroundStyle(isSelected ? activeAccent : .gray) @@ -131,6 +129,7 @@ struct TabSelectionView: View { } } } + .animation(.smooth(duration: 0.3), value: coordinator.currentView) .clipShape(Capsule()) .onAppear { ensureValidSelection(with: tabs)