onChange는 사실 조금 이상하다
·
내게 필요한 개발 공부
'특정 View가 화면에 노출되는 시점'을 감지하기 위해 커스텀 ViewModifier를 구현하던 중 요상한 문제에 부딪혔습니다. 특정 값이 변화할 때를 감지하기 위해 SwiftUI에서 흔히 사용하는 `onChange` ViewModifier를 이용해 함수를 실행하는 코드였는데, 값이 분명 변화해`onChange`가 실행되었음에도 예상하는 값과 다르게 사용되는 문제였습니다. 문제의 코드는 이랬습니다!상위 View에서 전달받은 Environment 값(containerFrame)을 받아오고onChange에서 이 Environment 값의 변화를 감지하면,checkVisible 함수에서 Environment 값을 이용해 화면에 노출되었는지를 검사합니다.struct OnVisibilityViewModifier..