我使用此代码显示自定义行的列表.

struct ContentView : View {
    var body: some View {
        VStack(alignment: .leading) {
            List(1...10) {_ in
                CustomRow()
            }
        }
    }
}

但是,我想删除每行上的行.我试着不使用List,而是在ScrollView中使用ForEach,但它完全删除了所有样式,包括填充和边距.我只想go 掉这些线,别的什么都不想.

请帮帮忙,谢谢.

推荐答案

iOS 15:

今年,苹果公司推出了一种新的修改器.listRowSeparator,可以用来设计分离器.您可以通过.hidden将其隐藏:

List {
    ForEach(items, id:\.self) { 
        Text("Row \($0)")
            .listRowSeparator(.hidden)
    }
}

iOS 14:

您可以考虑在ScrollView中使用LazyVStack(因为iOS是NOT,不再支持SwiftUI列表的外观).

LazyVStack Preview


iOS 13:

⚠️ 此方法已被弃用,在iOS 14上无法使用

在适用于iOS 13的SwiftUI List后面有一个UITableView.因此要删除

额外分离器(列表下方):

你需要一张tableFooterView美元的钞票

所有分隔符(包括实际分隔符):

你需要separatorStyle才能成为.none

Example of usage

init() {
    if #available(iOS 14.0, *) { 
        // iOS 14 doesn't have extra separators below the list by default.
    } else {
        // To remove only extra separators below the list:
        UITableView.appearance().tableFooterView = UIView()
    }

    // To remove all separators including the actual ones:
    UITableView.appearance().separatorStyle = .none
}

var body: some View {
    List {
        Text("Item 1")
        Text("Item 2")
        Text("Item 3")
    }
}

请注意,默认情况下,静电列表不会显示额外的分隔符

Ios相关问答推荐

iPhone:iOS 17.4中没有气压数据

preferredCompactColumn作为NavigationSplitViewColumn.sidebar传递,但仍能在iOS上看到详细信息页面

在iOS中禁用URLSession自动重试机制

在工作表上移动图像SwiftUI

如何在wiftUI中管理导航栈?

Xcode 15模拟器用x86_64编译

iOS应用程序冻结在UICollectionView代码,但我没有';没有任何UICollectionViews

UIView 倒置旋转时的zoom 问题

SwiftUI withAnimation 在视图出现之前不会启动

在 SwiftUI 中将 TextEditor 文本计数连接到 ProgressView

通过 tuist/XcodeProj 以编程方式将文件添加到本机目标

在 iOS 编程中使用 Storyboard 代替 xib 文件有什么好处?

在 UITextView 中垂直居中文本

Swift tableView 分页

Xcode 11 向后兼容性:UIWindowScene 仅在 iOS 13 或更高版本中可用

无法加载从带有标识符的包中的笔尖引用的图像

iPhone:什么是 WWDR 中级证书?

从 iOS/Android 上的 Web 应用调用本机日期 Select 器

ARC - __unsafe_unretained 的含义?

UITableView 中的圆形 UIImageView 没有性能影响?