Language/Swift
                
              SwiftUI 에서 Overlay, background 이용하기
                IFLA
                 2022. 12. 23. 12:50
              
                          
            
Overlay
overlay 는 뷰 원본의 공간을 기준으로 그 위에 새로운 뷰를 중첩하여 쌓는 기능을 한다. UiKit 에서 addsSubview 메서드와 같은 기능이다.
기본 코드
struct ContentView: View {
	var body: some View {
		Rectangle()
			.fill(Color.red)
			.frame(width: 150.0, height: 150.0)
			.overlay(
				Rectangle()
					.fill(Color.green)
					.offset(x: 10, y: 10))
			)
	}
}
실행 화면

Background
뷰 원본의 공간을 기준으로 뷰를 중첩하는 것은 같지만, 위가 아니라 그 아래 방향으로 쌓아 나간다는 점이 다르다.
뷰의 하위 계층에 지정한 색을 가진 또 다른 뷰를 추가하는 기능이다.
기본 코드
struct ContentView: View {
    var body: some View {
        Rectangle()
            .fill(Color.red)
            .frame(width: 150, height: 150.0)
            .background(Rectangle()
                .fill(Color.green)
                .offset(x: 20, y: 20)
            )
    }
}실행 화면

개발자 Document
https://developer.apple.com/documentation/swiftui/view/overlay(_:alignment:)
Apple Developer Documentation
developer.apple.com
https://developer.apple.com/documentation/swiftui/view/background(_:alignment:)
Apple Developer Documentation
developer.apple.com