我在屏幕中有一个垂直列表来显示图像类别,每个类别/列表都包含水平显示的图像列表。(附图供参考)
现在,当我水平或垂直滚动时,应用程序由于内存泄漏而崩溃。我想很多人都在ForEach循环中面临这个问题。
我也尝试过使用List代替ForEach和ScrollView来垂直/水平滚动,但不幸的是面临同样的问题。
下面的代码是创建垂直列表的主视图:
@ObservedObject var mainCatData = DataFetcher.sharedInstance
var body: some View {
NavigationView {
VStack {
ScrollView(showsIndicators: false) {
LazyVStack(spacing: 20) {
ForEach(0..<self.mainCatData.arrCatData.count, id: \.self) { index in
self.horizontalImgListView(index: index)
}
}
}
}.padding(.top, 5)
.navigationBarTitle("Navigation Title", displayMode: .inline)
}
}
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码在每个类别内创建水平列表,我使用了LazyHStack、ForEach循环和ScrollView
@ViewBuilder
func horizontalImgListView(index : Int) -> some View {
let dataContent = self.mainCatData.arrCatData[index]
VStack {
HStack {
Spacer().frame(width : 20)
Text("Category …Run Code Online (Sandbox Code Playgroud) 我尝试将cornerRadius添加到UILabel使用User Defined Runtime Attributes
但是它没有按预期工作,cornerRadius没有设置,我想知道我犯了什么错误.我附上了它的截图,
帮助我解决问题