目前SwiftUI的中文资料太少了,我在学习过程中碰到的问题随手记录下来,分享给碰到同样问题的人
List (0..<50) { index in
Text("\(index)")
}
.onAppear {
UITableView.appearance().separatorStyle = .none
}
UITableview的separatorStyle枚举在此对List通用
究其原因是因为:对于 List 来说,SwiftUI 底层直接使用了成熟的 UITableView 的一套实现逻辑,而并非重新进行绘制,每个row也是对应的UITableViewCell, SwiftUI 层只是 View 描述的数据抽象
在iOS 14 以上方法无效,有一种简单的方式去除分割线即设置listStyle
List (0..<50) { index in
Text("\(index)")
}
.listStyle(SidebarListStyle())
其他的方式可参考 stackoverflow对应问答
在iOS15 苹果新增了一个api可以直接调用
func listRowSeparator(_ visibility: Visibility, edges: VerticalEdge.Set = .all) -> some View
其调用方式为
List (0..<50) { index in
Text("\(index)")
.listRowSeparator(.hidden)
}
详情以苹果文档为准