Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: 지도 탭 캐러셀 반복재생 및 LoopingPlayerView, createCarouselLayout 변경 사항 #53

Merged
merged 6 commits into from
Nov 21, 2023

Conversation

anyukyung
Copy link
Member

🧑‍🚀 PR 요약

해당 pr에서 작업한 내역을 적어주세요.

  • 지도 탭 캐러셀에 LoopingPlayerView를 연동하여 3초 반복재생을 구현했습니다.
    지금은 맥시멈 크기의 90%가 되는 순간 셀을 재생하게 됩니다.

📌 변경 사항

변경사항 및 주의 사항 (모듈 설치 등)을 적어주세요.

LoopingPlayerView에 isPlaying 프로퍼티 추가했습니다

공통으로 사용하는 부분이라 미리 말씀드렸어야하는데... 시간이 너무 늦어 우선 추가해보았습니다..
불필요하다거나 더 좋은 방법이 있다 싶으시면 말씀해주세용

player의 timeControlStatus 여부로 판단하도록 했습니다.
그리고 isPlaying 여부를 판단해서 play, pause하도록 수정했습니다..

    var isPlaying: Bool {
        get { player?.timeControlStatus == .playing }
    }

createCarouselLayout를 makeCarouselSection으로..

  • compositionalLayout의 수평스크롤 사용시 scrollDelegate가 트리거되지 않는다는 사실을 알게되었습니다..
  • scrollDelegate를 통해 센터에 위치한 셀의 영상을 재생해주려고 했는데, 이게 현재로서는 불가능해보여서
    visibleItemsInvalidationHandler를 다시 사용해야했습니다.
  • 원래 만들어둔 익스텐션에 이스케이핑 클로저를 전달하는 방식도 생각해보았으나, 그것보다 그냥 동일한 섹션을 만들어주고 visibleItemsInvalidationHandler는 뷰컨에서 처리하는게 낫지않나 싶었습니다..ㅠ
  • 최적의 방법은 아닌 것 같은데, 너무 오래 고민하다보니 차라리 다른 피쳐를 진행 후 다시 생각해보는게 생산적일 것 같다고 생각했습니다..!! 방법은 계속 고민해보겠습니다..
📸 ScreenShot

작동, 구현화면

Simulator Screen Recording - iPhone 15 - 2023-11-21 at 15 19 33

Linked Issue

close #46

Copy link
Collaborator

@chopmozzi chopmozzi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다. 디테일한 부분들 수정하시면 좋을 것 같아요

셀 내부 center, side 함수 제거
URL 관련 프로퍼티 네이밍 변경
강제언래핑 삭제
Copy link
Collaborator

@loinsir loinsir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리뷰 반영 확인했습니다. 고생하셨습니다 :)

@anyukyung anyukyung merged commit db88d5a into iOS/dev Nov 21, 2023
1 check passed
@anyukyung anyukyung deleted the iOS/feat#46 branch January 10, 2024 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants