Closed bryan1anderson closed 4 months ago
Yes, "disabled" views are simply hidden, and there will be problems when calling viewDidAppear
. However, I haven't found a way to resolve the issue. View states cannot persist without hiding views using opacity(_:)
.
I just want to use pure SwiftUI to implement the TabBar. For now, the only way is to pass a willSelect
action into tabItem(_:label:willSelect:)
to manually call functions.
Do you have any solutions?
You recently implemented a change that made views no longer disappear so that the views were not completely deconstructed and reconstructed each time you switched tabs.
This has unforeseen consequences such as the fact that viewDidAppear does not get called when you switch to a tab. In my own project I implemented an EnvironmentKey that passed down "isViewVisible" that then manually called viewDidAppear on a UIViewControllerRepresentable.
However, viewDidAppear still gets called on all the view controllers on init of the tab bar, despite them not being shown.