微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SwiftUI LazyVGrid 滞后于图像

如何解决SwiftUI LazyVGrid 滞后于图像

当我滚动 LazyVGrid 时,应用程序滞后很多。

 LazyVGrid(
   columns: [
       GridItem(.adaptive(minimum: horizontalSizeClass == .compact ? 160:320,maximum: 320),spacing: 16,alignment: .top)
   ],spacing: 16
  ){
     ForEach(viewmodel.articles){ article in
         vstack{
           ArticleCardView(article: article,animation: animation,show: $show)
               .equatable()

文章卡片视图

vstack{
        if !show {
            HStack{
                Text(String(format: "%.2f €",article.rate1))
                    .fontWeight(.heavy)
                    .padding(.vertical,5)
            }
            
            Image(uiImage: readImage(name: "\(article.id)00"))
                .resizable()
                .scaledToFit()

我将此视图设为 Equtable,但仍然滞后。滚动不流畅。

任何优化滚动的想法。

解决方法

要检查的一件事是 .adaptive GridItem 的使用。对于实验,请尝试 .flexible - 看看它是否更快。

我没有滚动延迟,但注意到 SwiftUI 在使用 .adaptive 时为我的所有记录创建了磁贴,但对 .fixed.flexible 的行为很懒惰

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。