alignmentGuide()不覆盖子视图

时间:2020-07-23 10:45:46

标签: ios swift swiftui

最初,我通过将.top授予父母alignment: .top使孩子的观点与HStack保持一致。

然后我想在左侧生一个孩子(.leading),在右侧生另一个孩子(.trailing)。

但是,这不管用,它们都位于中间(下面的屏幕截图):

import SwiftUI

struct TestView: View {
    var body: some View {
        HStack{
            Text("First")
                .alignmentGuide(.leading) { d in d[.leading] }
            Text("Second")
                .alignmentGuide(.trailing) { d in d[.trailing] }
        }.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .top)
        .padding(.top, 50)
    }
    
}

知道为什么吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

然后我想在左侧生一个孩子(.lead),在右侧生另一个孩子(.trailing)。

可以通过更简单的方式实现

HStack{
    Text("First")
    Spacer()
    Text("Second")
}.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top)