You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI(iOS)中SKLottieView从其他页面返回后仅显静态图无法播放

在MAUI iOS中返回页面后重新启动SKLottieView动画

针对iOS平台从其他页面返回后SKLottieView仅显示静态图的问题,可以通过页面生命周期事件结合原生控件操作来重新启动动画,具体步骤如下:

  • 在包含SKLottieView的页面XAML中,给控件设置命名以便后台代码访问:

    <skia:SKLottieView x:Name="LottieAnim" 
                       Source="animations/loading.json" 
                       AutoPlay="True" 
                       Loop="True" />
    
  • 在页面的代码后台重写OnAppearing方法,仅针对iOS平台做动画重启处理:

    protected override void OnAppearing()
    {
        base.OnAppearing();
    
    #if IOS
        // 获取iOS原生SKLottieView控件
        if (LottieAnim.Handler?.PlatformView is SkiaSharp.Views.iOS.SKLottieView nativeLottie)
        {
            // 重置动画进度并重新播放,确保从开头启动
            nativeLottie.Progress = 0;
            nativeLottie.Play();
        }
    #endif
    }
    

说明

iOS平台下,页面退到后台时SKLottieView的动画会被暂停,且返回页面时不会自动恢复播放。通过OnAppearing事件(页面显示时触发),直接操作原生控件重置进度并调用Play(),就能强制动画重新启动。如果你的动画不需要重置到开头,也可以仅调用nativeLottie.Play(),但重置进度能避免动画停留在中间帧的情况。

内容的提问来源于stack exchange,提问作者Nikita Khromov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:55:20