在watchOS中使用.listRowBackground时如何将cornerRadius添加到SwiftUI列表单元格?

问题描述 投票:0回答:2

我正在尝试在手表上获得正常的List,并在每个单元格上显示listRowBackground图像。

但是当我将图像设置为listRowBackground时,标准List的角半径消失了(请参阅下文)。>>

我试图在Cell- background本身中设置修改后的View,但这会导致相同的问题。看着Visual View Debugger,似乎背景图像远远超出了单元格本身。

struct ListView: View {
    @ObservedObject var model: ListModel

    var body: some View {
        List {
            ForEach(self.model.items) { item in
                NavigationLink(destination: PlayerView(item: item)) {
                    ListCell(item: item).frame(height: 100)
                }
                .listRowBackground(Image(uiImage: item.image)
                .resizable()
                .scaledToFill()
                .opacity(0.7)
                )
            }
        }
        .listStyle(CarouselListStyle())
        .navigationBarTitle(Text("Today"))

    }
}

@available(watchOSApplicationExtension 6.0, *)
struct ListCell: View {
    var item: ListItem

    var body: some View {
        VStack(alignment: .leading) {
            Text("\(self.item.length) MIN . \(self.item.category)")
                .font(.system(.caption, design: .default))
                .foregroundColor(.green)
                .padding(.horizontal)
                .padding(.top, 2)
            Text(self.item.title)
                .font(.headline)
                .lineLimit(2)
                .padding(.horizontal)
        }
    }
}

图像:带有背景图像:

w/ background image

图像:无背景图像:

w/o background image

我正在尝试在手表上获取普通的List,并在每个单元格上使用listRowBackground图像。但是,当我将图像设置为listRowBackground时,标准列表中的角半径消失了(请参阅...

watchkit swiftui
2个回答
0
投票

您是否尝试将clipped()添加到NavigationLink


0
投票

我知道了!

© www.soinside.com 2019 - 2024. All rights reserved.