Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
온보딩부터 앨범선택뷰로 이어지는 구간을 구현했습니다.
구현 부분
알게 된 점
scaleToFit vs scaleToFill
출처: 공식문서
ForEach
Collection 데이터를 기반으로 View를 계산하는 구조체
여기서 구조체는 View Container 역할을 하는 다른 구조체와 같은 뜻 -> ForEach가 다른 반복문과 다른 점이 바로 이 뷰 컨테이너 역할을 한다는 점이다!!!
Range<Int>
는 사용 가능하지만ClosedRange<Int>
는 사용 불가RandomAccessCollection
이어야 함참고
Gesture
구현시 사용하지 않지는 않았음 ! -> TabView로 대체
func gesture
gesture 종류는
TapGesture
,SpatialTapGesture
,LongPressGesture
,SpatialEventGesture
,DragGesture
,WindowDragGesture
,MagnifyGesture
,RotateGesture
,RotateGesture3D
,SequenceGesture
,SimultaneousGesture
,ExclusiveGesture
가 있음..그 중에서 DragGesture만 살펴봄
DragGesture
| 드래그 이벤트 시퀀스가 변경되면서 동작을 호출하는 제스처
Gesture Function
모든 제스처에서는 세 가지 func을 사용할 수 있음
1️⃣
updating(_:body:)
: 제스처 값이 변경될 때 제공된 제스처의 상태값 변경2️⃣
onChanged(_:)
: 제스처의 값이 변화할 때 액션 추가3️⃣
onEnded(_:)
: 제스처가 끝났을 때 액션 추가GestureState
** 사용 예시 **
이렇게 하면 실제 자연스러운 carousel이 나오진 않음!!!
updating 내부에서는 현재 상태인
current.translation.width
값을 gestureState에 업데이트 해줌.참고
참고
TabView
NavigationStack + NavigationLink
ButtonStyle
LazyGrid