列表行中视图的对齐

时间:2020-07-26 19:11:47

标签: ios swiftui

我有以下列表,该列表的每一行内都有一个视图,该视图是一个彩色矩形和一个内部文本(它是矩形形状的文本的背景)。

 import SwiftUI

struct ListRow: View {
    
    var name:String
    
    var factor : CGFloat

    
    var fillColor:Color
    
    
    var body: some View {
    GeometryReader { geometry in
        VStack(spacing: 0) {
                Text(self.name)
       .frame(width: geometry.size.width, height: self.factor * 
         geometry.size.height)
                    .background(RoundedRectangle(cornerRadius: 
                     5).fill(self.fillColor)).foregroundColor(.white)
                Spacer()
                
          }

        }
    }
}

我试图控制矩形在列表行高度内的位置。每个矩形都有其高度,问题在于,不管矩形的高度如何,矩形总是出现在列表行的中心。我试图在listRow的VStack或文本的frame()中使用alignment:.top,但是没有任何效果。

    import SwiftUI

struct ListView: View {
    

    var range = 1...12
    
    var body: some View {
        

            List(self.range,id:\.self){
                    num in

                ListRow(name: "Some Name", factor:  CGFloat(1.5),fillColor:Color(.pink)).padding()
            }
             
    }

}

如何使内部视图从列表行的顶部出现?

0 个答案:

没有答案