【发布时间】:2020-08-01 11:21:16
【问题描述】:
我很难使用 SwiftUI 从 MacOS 中的单元格中删除所有填充。即使在Apple的代码中我似乎也无法做到!
https://developer.apple.com/tutorials/swiftui/creating-a-macos-app
例如,在 Xcode 中 MacLandmarks 文件夹的 LandMarkList 中,我在 forEach 的末尾放了一个 .listRowInsets(EdgeInsets()),这样代码看起来像这样:
struct LandmarkList: View {
@EnvironmentObject private var userData: UserData
@Binding var selectedLandmark: Landmark?
@Binding var filter: FilterType
var body: some View {
List(selection: $selectedLandmark) {
ForEach(userData.landmarks) { landmark in
if (!self.userData.showFavoritesOnly || landmark.isFavorite)
&& (self.filter == .all
|| self.filter.category == landmark.category
|| (self.filter.category == .featured && landmark.isFeatured)) {
LandmarkRow(landmark: landmark).tag(landmark)
.background(Color.red)
}
}
.listRowInsets(EdgeInsets())
}
}
}
我还在每个单元格中设置了红色背景色。这是我得到的结果:
关键是我似乎无法摆脱此列表单元格之间的垂直空间。我见过的所有解决方案似乎都为此提到了 iOS,但我想在 Mac OS 中执行此操作(应该具有相同的行为,但事实并非如此)。
【问题讨论】:
标签: ios macos swiftui swiftui-list