青い四角形が赤い四角形の中心にあり、緑が上に、黄色が左にある必要があるとします。
アライメントガイドを使用してSwiftUIでこれを行うにはどうすればよいですか? サイズは不明ですが、黄色と青の高さが一致し、緑と青の幅が一致します。
青い四角形が赤い四角形の中心にあり、緑が上に、黄色が左にある必要があるとします。
アライメントガイドを使用してSwiftUIでこれを行うにはどうすればよいですか? サイズは不明ですが、黄色と青の高さが一致し、緑と青の幅が一致します。
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