-
Notifications
You must be signed in to change notification settings - Fork 0
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
bug: 재생화면 버그 수정 #215
bug: 재생화면 버그 수정 #215
Conversation
재생화면에서 홈화면 넘어올 때 playerView가 안 멈추던 버그 수정 홈화면에서 다시 재생화면으로 갈 시 looperView가 동기화되던 버그 수정
@@ -91,6 +92,10 @@ final class PlaybackViewController: BaseViewController { | |||
override func viewWillDisappear(_ animated: Bool) { | |||
super.viewWillDisappear(animated) | |||
interactor?.leavePlaybackView() | |||
if isMovingFromParent { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isMovingFromParent .. 뷰컨에 이런 프로퍼티가 있군요..?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
근데 얘 역할이 몬가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
viewWillDisappear되는 경우가 두가지가 있습니다. 하나는 backbutton눌러서 이동할 때고 다른 하나는 Tabbar로 이동하는 경우입니다.
backbutton눌러서 이동할 때는 pop을 하기 때문에 화면이 아예 사라지는 경우(isMovingFromParent)이기 때문에 player나 observer를 아예 초기화 시키구요.
Tabbar로 이동할 때는 아예 나가는게 아닌 탭만 이동하는 동작으로 처리합니다.
예를 들어 홈탭에서 영상을 보다 지도탭으로 들어간 후, 다시 홈탭으로 돌아오면 홈탭에서 보던 영상이 다시 재생됩니다. 그 구분을 위한 역할 입니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이해했습니다 !! 새로운 걸 알아가요..
@loinsir @anyukyung removeTimeObserver를 추가했습니다. cell에 추가한 이유는 다른 인스턴스에서 호출하면 런타임 에러를 내뱉기 때문입니다. |
잠시만요 다시 체크할게요 |
@loinsir @anyukyung 다시 Slider가 PlaybackView로 들어갔습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
메모리 그래프도 확인해봤는데 pop 이후에 메모리에서 완전히 해제되는거 확인되었고, deinit도 잘 실행되네요!
고등어하셨습니다🐟
guard let windowHeight: CGFloat = windowScene?.screen.bounds.height else { return } | ||
playerSlider.frame = CGRect(x: 0, y: (windowHeight - tabBarHeight - LOSlider.loSliderHeight / 2), width: playerSliderWidth, height: LOSlider.loSliderHeight) | ||
window?.addSubview(playerSlider) | ||
playerSlider.window?.windowLevel = UIWindow.Level.normal + 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이것도 그냥 궁금한건데 무슨 의미인가여 이거 없으면 어케 되는지 궁금...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그 친구를 window에서 한단계 우선순위를 높여야 탭바에 안가려지더라구요. 탭 바위에 동그라미 보이게 하고 싶어서 우선순위 올린겁니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니💵
Conflicts: iOS/Layover/Layover/Scenes/Playback/Cell/PlaybackCell.swift iOS/Layover/Layover/Scenes/Playback/PlaybackRouter.swift iOS/Layover/Layover/Scenes/Playback/PlaybackViewController.swift
🧑🚀 PR 요약
📌 변경 사항
looperView에서 DisAppear될 때 cell에 적용되는 함수가 변경되었습니다.
하는김에 PlayerSlider도 부모뷰에서 제거합니다.
Linked Issue
close #188