我有一个主视图,其中包含带有 TabView 的主体,每个选项卡显示不同的列表。另外,我在主类的顶部声明了一个状态变量,用于控制是否必须显示类似模态的视图。
问题是,当我更改该状态变量的值时,主视图的所有主体都会用动画重新绘制。这不是所需的行为,因为我没有更改与更新该变量的列表关联的数据。
struct HomeView: View {
@State private var selection = 0
@State var modalShown = false //This is the problematic var that makes a list to be updated with an animation
@EnvironmentObject var filters: UserFilters
@EnvironmentObject var filtersViewController: FiltersViewController
init() {
UITabBar.appearance().backgroundColor = #colorLiteral(red: 0.03921568627, green: 0.03921568627, blue: 0.03921568627, alpha: 1)
UITabBar.appearance().barTintColor = #colorLiteral(red: 0.03921568627, green: 0.03921568627, blue: 0.03921568627, alpha: 1)
}
var body: some View {
return ZStack {
TabView(selection: $selection){
IncidencesView(modalShown: $modalShown) //A view that contains a list that is being refreshing
Run Code Online (Sandbox Code Playgroud)
至少,有没有办法避免列表更新动画?
谢谢你!
至少,有没有办法避免列表更新动画?
提供的代码快照不可测试,因此只能即时执行...尝试以下操作
IncidencesView(modalShown: $modalShown.animation(nil))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3496 次 |
| 最近记录: |