首页 > 编程语言 > 详细

SwiftUI 中使用ScrollView+LazyVStack代替List

时间:2021-07-27 15:41:34      阅读:22      评论:0      收藏:0      [点我收藏+]

在新版本xcode Version 12.5.1 (12E507)中

通过init()去除List的某些样式已经无效

故采用ScrollView+LazyVStack来代替List

通过navigationBarHidden来隐藏顶部的navigationBar区域

var body: some View {
        NavigationView{
            ScrollView(showsIndicators: false){
                LazyVStack{
                    ForEach(postList.list) { post in
                        NavigationLink(destination: PostDetailView(post: post)) {
                            PostCell(post: post)
                                .padding()
                        }
                        .navigationBarHidden(true)//去除顶部bar区域
                        .accentColor(.black)//去除NavigationView的字体样式
                        .buttonStyle(StaticButtonStyle())//去除NavigationView的点击效果
                    }
                }
            }
        }
        
    }
    struct StaticButtonStyle: ButtonStyle {
        func makeBody(configuration: Configuration) -> some View {
            configuration.label
        }
    }

SwiftUI 中使用ScrollView+LazyVStack代替List

原文:https://www.cnblogs.com/chaostudy/p/15064383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!