-
Notifications
You must be signed in to change notification settings - Fork 6
Navigation Bar와 Sticky Header
sustainable-git edited this page Nov 17, 2021
·
1 revision
- SanTa 앱에서는 사용자의 경험(UX)를 극대화 하기 위한 여러 장치들이 있다
- 그 중 하나는 기록 화면에서 Navigation Bar를 스크롤 위치에 따라 hidden을 하는 것과 Sticky Header를 적용시키는 것이다
의도한 형태 | 발생한 버그 |
---|---|
![]() |
![]() |
- 경우에 따라 Sticky Header가 잘 작동하거나, 작동하지 않는 때가 있다
-
Navigation Bar가 Hidden되기 전에 Sticky Header가 적용되어야 하는 순서의 문제인가?
- Sticky Header가 작동하는 코드는 Compositional Layout을 만드는 곳에 존재한다
- 이는 NSCollectionLayoutSection을 반환하는 코드에 존재한다
- NSCollectionLayoutBoundarySupplementaryItem을 만들고,
pinToVisibleBounds = true
를 설정하면 된다 - 때문에 이 코드가 발생하기 전에 Navigation Bar를
isHidden=false
를 시켜주어야 한다고 생각했다
-
순서의 문제가 아니었다
-
pinToVisibleBounds = true
이전에NavigationBar.isHidden = false
를 적용해도 버그는 없어지지 않았다
-
-
Compositional Layout을 한 번만 만들기 때문에 탭을 이리저리 바꾸면 다시 문제가 발생하는 것인가?
- Compositional layout은 탭을 변경할 때 마다 다시 만들기 때문에 해당 문제는 아니었다
-
Scroll 과정에서 나타나는 문제인가
-
NavigationBar.isHidden = false
를 항시 적용하면 문제가 없다 - 때문에 Scroll 과정에서 어떠한 문제가 발생한다고 생각했다
- 특히, 가끔 NavigationBar 크기만큼 화면이 더 올라가는 버그가 발생하는 것을 보면, 이 부분에 문제가 있는 것이 확실해 보였다
-
-
변경된 Layout을 알리는 부분이 없어서인가?
-
collectionView.setNeedsLayout()
을 호출했지만, 해결되지 않았다 - 이를 다시
Self.view.setNeedsLayout()
을 호출하니 문제가 해결되었다
-
- Layout이 변경되었는데, 변경사항이 잘 적용되지 않으면 setNeedsLayout()을 호출해 보자
트러블 슈팅
회의록
- 2021-10-25(월)
- 2021-10-26(화)
- 2021-10-27(수)
- 2021-10-28(목)
- 2021-11-01(월)
- 2021-11-02(화)
- 2021-11-03(수)
- 2021-11-04(목)
- 2021-11-08(월)
- 2021-11-09(화)
- 2021-11-10(수)
- 2021-11-11(목)
- 2021-11-15(월)
- 2021-11-16(화)
- 2021-11-17(수)
- 2021-11-18(목)
- 2021-11-22(월)
- 2021-11-23(화)
- 2021-11-24(수)
- 2021-11-25(목)
- 2021-11-29(월)
- 2021-11-30(화)
- 2021-12-01(수)
- 2021-12-02(목)
스크럼
- 2021-10-26(화)
- 2021-10-27(수)
- 2021-10-28(목)
- 2021-10-29(금)
- 2021-11-01(월)
- 2021-11-02(화)
- 2021-11-03(수)
- 2021-11-04(목)
- 2021-11-08(월)
- 2021-11-09(화)
- 2021-11-10(수)
- 2021-11-11(목)
- 2021-11-15(월)
- 2021-11-16(화)
- 2021-11-17(수)
- 2021-11-18(목)
- 2021-11-22(월)
- 2021-11-23(화)
- 2021-11-24(수)
- 2021-11-25(목)
- 2021-11-29(월)
- 2021-11-30(화)
- 2021-12-01(수)