ScrollView Content Offset 쉽게 다루기
이렇게 위에 status bar, navigation bar가 있는 앱에서 scrollview를 쓸 때, scrollview의 contentOffset을 쓸 일이 생긴다.
사용을 위해 y축의 contentOffset값을 찍어보면,
화면이 그냥 default 상태, 즉 앱을 처음 켰을 때 상태인데도 -94가 찍히는 모습을 볼 수 있다.
status bar, navi bar, 다른 inset값들이 포함된 값이라 그런 것 같은데…
나는 그냥 앱 딱 처음 실행됐을 때 보이는 뷰의 y축 offset값이 0이였으면 좋겠는거지!
왜냐면.. 그게 작업하기 오조오억배 편하니까…
tableView.contentInsetAdjustmentBehavior = .never
요 놈을 넣어주면 해결된다.
contentInsetAdjustmentBehavior 설정 전
저렇게 status bar, navi bar 밑에서부터 view가 시작된다.
그러니까 처음 뷰가 열렸을 때 offset값은 음수 값이 나오는 것!
contentInsetAdjustmentBehavior 설정 후
처음부터 뷰가 시작되기 때문에
처음 뷰가 화면에 보일 때 offset값이 0이다.
직관적으로 작업할 수 있게 돼서 너무너무 편한 거쥐,,~
추가로, 나는 저 사진에서 선택된 view의 높이를 기기별 화면 크기에 맞춰야 했기 때문에
UIScreen.main.bounds.height 를 사용했는데, 이게 contentInsetAdjustmentBehavior 설정 전에는
UIScreen.main.bounds.height에서 navi bar height, status bar height 등을 빼 줘야
내가 원하는 대로 동작했었다.contentInsetAdjustmentBehavior 설정 후에는 그냥 UIScreen.main.bounds.height만 해 줘도
딱 맞음 ~~ ^___________^