1

青い四角形が赤い四角形の中心にあり、緑が上に、黄色が左にある必要があるとします。

アライメントガイドを使用してSwiftUIでこれを行うにはどうすればよいですか? サイズは不明ですが、黄色と青の高さが一致し、緑と青の幅が一致します。

ここに画像の説明を入力

4

1 に答える 1

0

Twitterのhttps://swiftui-lab.comに助けてもらいました

私のヘルパーメソッドでは:

extension View {
    func overlay<Overlay: View>(alignment: Alignment, @ViewBuilder builder: () -> Overlay) -> some View {
        overlay(builder(), alignment: alignment)
    }
}

そうすることができます:

Color.red
  .overlay(alignment: .bottom) {
    HStack(alignment: .top, spacing: 0) {
      Color.clear.frame(width: 0)
      Color.yellow
      .alignmentGuide(.top) { $0.height + 10 }
    }
  }
  .overlay(alignment: .trailing) {
    VStack(alignment: .leading, spacing: 0) {
      Color.clear.frame(height: 0)
      Color.blue
        .alignmentGuide(.leading) { $0.width + 10 }
    }
  }
  .padding(100) // padding given for the example 
于 2021-01-22T13:47:47.620 に答える