You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
가장 가까운 부모인 VStack 에 적용된 foregroundStyle 을 기반으로, 각 Text 에 hierarchical style 이 적용된 모습을 볼 수 있다.
Safe Area Inset View Modifier
커스텀 Safe Area 를 생성할 수 있는 Modifier
func safeAreaInset<V>(edge:HorizontalEdge, alignment:VerticalAlignment=.center, spacing:CGFloat?=nil, content:()->V)->someViewwhere V :View
edge: content 의 크기에 따라 안전 영역을 생성할 가장자리
spacing: Safe area content 와 Modifier 가 적용될 View 와의 여백을 나타낸다
content: ViewBuilder function 으로, 사용자가 지정한 가장자리의 inset 에 content 를 그린다.
예시
다음과 같은 View 가 있다. Material 을 적용한 UI 요소가 화면 아래 부분에 배치된 UI 로, 스크롤을 끝까지 하면 Mint 색상의 Rectangle 과 bottom Text가 겹치는 것을 확인할 수 있다.
letcolors:[Color]=[.red,.green,.blue,.cyan,.orange,.yellow,.purple,.indigo,.brown,.pink,.mint]ZStack(alignment:.bottom){ScrollView(.vertical, showsIndicators:false){VStack(spacing:0){ForEach(colors, id: \.self){ color inRectangle().fill(color).frame(height:150)}}}Text("Bottom Safe Area Inset").frame(width:UIScreen.main.bounds.width).padding().background(.regularMaterial)}
위와 같이 Material 배경을 가지는 Text 가 아래에 배치되고, Rectangle 색상과 믹스되는 효과를 유지하면서 ScrollView 가 실질적으로 차지하는 영역을 Text 를 침범하지 않게 만들기 위해, Bottom Safe Area Inset 을 사용할 수 있다.
ScrollView(.vertical, showsIndicators:false){VStack(spacing:0){ForEach(colors, id: \.self){ color inRectangle().fill(color).frame(height:150)}}}
// bottom 가장자리에 사용자 정의 content 가 그려질 safe area inset 을 생성!
.safeAreaInset(edge:.bottom, spacing:0){Text("Bottom Safe Area Inset").frame(width:UIScreen.main.bounds.width).padding().background(.regularMaterial)}
ScrollView 의 마지막 요소인 Mint 색상의 Rectangle 도 화면에 정상적으로 표시되는 것을 확인할 수 있다.
The text was updated successfully, but these errors were encountered:
Safe Area
Safe Area 란?
Safe Area 무시하기
Material
Material 이란?
Foreground style
Foreground Style 이란?
Color Foreground Style
Gradient Foreground Style
Hierarchical foreground style
Safe Area Inset View Modifier
예시
The text was updated successfully, but these errors were encountered: