SwiftUI : 使用List去掉List分割线。

Posted ZH_CQ_iOS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI : 使用List去掉List分割线。相关的知识,希望对你有一定的参考价值。

需求是这样的:一个列表 UIKit框架中就是个tableView 然后去处tableViewCell的分割线

SwiftUI中是使用List去替代TableView的实现的 去除List的分割线方法如下:

ios 13的情况下 你写一个modifier

struct ListRemoveSeparator: ViewModifier {

    func body(content: Content) -> some View {

        content

            .onAppear(perform: {

                UITableView.appearance().tableFooterView = UIView()

                UITableView.appearance().separatorStyle = .none

            })

            .onDisappear(perform: {

                UITableView.appearance().tableFooterView = nil

                UITableView.appearance().separatorStyle = .singleLine

            })

    }

}

然后在你实现的List后面进行调用就行了

List {

}.modifier(ListRemoveSeparator())

这样就行了 就可以去掉List的分割线了

iOS14的情况下是支持LazyVStack的 所以可以使用ScrollView搭配LazyVstack来实现

ScrollView {

LazyVStack(content: {

}

)

}

这样就行了。

LazyVStack就类似于Object-C UIKit框架里面的CollectionView

 

以上是关于SwiftUI : 使用List去掉List分割线。的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI : 使用List去掉List分割线。

SwiftUI 隐藏/取消List的分割线

如何在 SwiftUI 中删除列表的左右填充?

List 中的可重用性支持 - SwiftUI

为啥 swipeActions 修饰符不能直接与 List 容器一起使用? #SwiftUI

List 中的 ForEach 出现 SwiftUI 错误:无法使用类型为 '(@escaping () ... 的参数列表调用类型为 'List' 的初始化程序...(参见代码)