Skip to content

feat: [보관함] 탭 재선택 시 스크롤 최상단 이동 지원#39

Merged
giljihun merged 3 commits intodevelopfrom
feature/-보관함---탭-다시-누르기-재진입-시-스크롤-초기화
Feb 2, 2026

Hidden character warning

The head ref may contain hidden characters: "feature/-\ubcf4\uad00\ud568---\ud0ed-\ub2e4\uc2dc-\ub204\ub974\uae30-\uc7ac\uc9c4\uc785-\uc2dc-\uc2a4\ud06c\ub864-\ucd08\uae30\ud654"
Merged

feat: [보관함] 탭 재선택 시 스크롤 최상단 이동 지원#39
giljihun merged 3 commits intodevelopfrom
feature/-보관함---탭-다시-누르기-재진입-시-스크롤-초기화

Conversation

@giljihun
Copy link
Member

@giljihun giljihun commented Feb 1, 2026

🎯 PR 내용

iOS에는 같은 탭을 다시 누르면 ScrollView가 최상단으로 이동하는 빌트인 동작이 있습니다.

공방 탭에서는 이 동작이 잘 작동했지만, 보관함 탭에서는 작동하지 않았습니다.

의도적으로 공방에 심었던 기능이 아니라, 빌트인 기능이었네요.

원인 분석:

  • 공방: ScrollView가 전체 화면을 덮음 → iOS 빌트인 동작 잘됨.
  • 보관함: ScrollView가 그리드 영역만 덮음 (헤더/태그는 바깥) → iOS 빌트인 동작 안됨.

CollectionView+NormalMode.swift 레이아웃 구조 변경

Before (VStack 구조)

VStack {
	headerSection         ScrollView(고정)
	tagSection            ScrollView(고정)
	normalCollectionSection
        └─ collectionHeader
        └─ pullToRefresh { grid }   여기서만 ScrollView
}

After (ZStack 오버레이 구조)

ZStack(alignment: .top) {
	// 전체 화면 ScrollView (pullToRefresh가 생성)
	VStack {
		Spacer(height: 185)   오버레이 높이만큼 여백
		grid
	}
	.pullToRefresh(...)

	// 고정 오버레이
	VStack {
		headerSection
        tagSection
        collectionHeader      정렬 버튼 라인도 고정으로 이동
	}
	.background(Color.white)
}
> 이에따라 View+PullToRefresh의 높이값들도 미세 조정했습니다.

#### 한줄요약: ScrollView가 전체 화면을 덮도록 변경하고, 헤더/태그/정렬 라인은 그 위에 오버레이로 고정시킴.

## 📱 스크린샷 (UI 변경 시)
<!-- 필요하면 첨부 -->

https://github.com/user-attachments/assets/5175cf73-87df-451a-865b-2d3ce7e0eff5


## 🔗 관련 이슈
<!-- 현재 이슈와 참고하면 좋은 이슈  -->
- #38 

##  체크리스트
<!-- 아래 내용을 꼭 체크하고 PR을 날려줘야해요  -->
- [x] 빌드 성공
- [x] 테스트 완료
- [x] Self-review 완료

@giljihun giljihun self-assigned this Feb 1, 2026
@giljihun giljihun merged commit 53a1e8d into develop Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: [보관함] - 탭 다시 누르기 & 재진입 시, 스크롤 초기화

1 participant