如何在SwiftUI中的表单段上添加填充

时间:2019-10-09 19:14:49

标签: swift listview uikit swiftui ios13

在iOS 13中,某些本地Apple应用程序使用了我正在努力重新创建的列表样式。它基本上是Form中的Section,其中包含Section和一些条目。

唯一的区别是每个.padding()的左侧和右侧都有填充,并且在边缘周围有一个角半径。

以下是Home应用程序中我想要实现的示例(也在Clock应用程序的Timer选项卡中使用):

iOS 13 Home app

Form-修饰符应用于struct ContentView: View { var body: some View { Form { Section { Text("foo") Text("bar") } Section { Text("foo") } Section { Text("bar") } } } } 无效。

UITableViewCell

我想知道在SwiftUI中这是否完全可能,或者这仅仅是const slides = [ { id: 1, performance: 20, guided_phrases: ["I was sent", "I don't know"] }, { id: 2, performance: 30, guided_phrases: ["to earth"] }, { id: 3, performance: 40, guided_phrases: ["to protect you"] }, { id: 4, performance: 15, guided_phrases: ["I was sent"] }, { id: 5, performance: 50, guided_phrases: ["I was sent"] } ]; const logID = (phrase) => { console.log(slides.filter(x => x.performance === Math.min(...slides.filter(slide => slide.guided_phrases.includes(phrase)).map(x => x.performance)))[0].id); } logID('I was sent'); 上的一些UIKit调整。

2 个答案:

答案 0 :(得分:2)

可以对FormList进行此修改:

Form {
  Text("Hey")
}
.listStyle(GroupedListStyle())
.environment(\.horizontalSizeClass, .regular)

答案 1 :(得分:1)

这是新的UITableView.Style,名为.insetGrouped。这是the documentation

您可以使用代码进行设置:

let tableView = UITableView(frame: frame, style: .insetGrouped)

或使用“界面”构建器:

Ki

SwiftUI (尚未),但是将来,它应该是ListStyle,可以与列表上的.listStyle修饰符一起使用。当前可用的样式为:

.listStyle(DefaultListStyle()) // wich is PlainListStyle
.listStyle(PlainListStyle())
.listStyle(GroupedListStyle())
// .listStyle(InsetGroupedListStyle()) // unresolved (yet)