Disable Animation in SwiftUI
/ 1 min read
Swift မှာ withAnimation
နဲ့ က animation တော်တော်များများကို အလိုအလျောက် လုပ်ပေးပါတယ်။ သို့ပေမယ့် မလိုအပ်သည့် နေရာတွေကိုပါ animation လုပ်သွားတယ်။ ဥပမာ Text changes တွေကို animation လုပ်သွားသည့် အခါမှာ ကြည့်ရတာ အဆင်မပြေတော့ပါဘူး။
အဲဒီ အခါမှာ ပိတ်လို့ရသည့် နည်းလမ်းက ၂ ခု ရှိပါတယ်။
.animation(nil,value: UUID())
နဲ့ နောက် တစ်ခု က
.transaction { transaction in //if there is no animation, transaction value should be nil transaction.animation = nil}
ရှိပါတယ်။ ကျွန်တော်ကတော့ အဆင်ပြေအောင် ၂ ခု လုံးကို သုံးလိုက်တယ်။
struct NoAnimationModifier: ViewModifier { func body(content: Content) -> some View { content .animation(nil,value: UUID()) .transaction { transaction in transaction.animation = nil } }}
extension View { func noAnimation() -> some View { modifier(NoAnimationModifier()) }}
ပြီးရင် ကျွန်တော်တို့ animation မဖြစ်ချင်သည့် Text မှာ noAnimation()
ဆိုပြီး သုံးလို့ရပါပြီ။
Text("Title") .font(.footnote) .noAnimation()