위로 당겨서 새로고침
프로젝트 진행하면서 서버 데이터들이 업데이트가 될 수도 있기 떄문에 바로 바로 확인하기 위해서 새로고침 기능이 필요하다고 느껴서 구현해 보았습니다.
필요한 것
UIRefreshControl 인스턴스 생성!
let refreshControl = UIRefreshControl()
UIRefreshControl 이란??
공식문서 설명으로 "스크롤 보기의 내용 새로 고침을 시작할 수 있는 표준 컨트롤" 이라고 되어 있습니다.
무슨 뜻인가 생각해보니 아래 사진을 보고 이해했는데
또한 공식문서 내용 중 "You use that notification to update your content and dismiss the refresh control."
-> 해당 알림을 사용하여 콘텐츠를 업데이트하고 새로 고침 컨트롤을 해제합니다" 라는 내용으로 위의 UIRefreshControl를 통해 콘텐츠를 업데이트 할 수 있다? 라고 이해해 보았습니다.
콘텐츠 업데이트할 시기를 알아야 되기 떄문에 공식문서에서 제공하는 작업 메서드를 호출해서 사용해 보았는데
예제 코드를 보았을 때refreshControl
의 값이 바뀔 때, 동작할 시(valueChanged), 어떤 함수가 동작할지 #selector
안에 선언해주어서 addTarget
을 매칭을 해주고, 작업 메서드를 사용하여 콘텐츠를 업데이트하고 완료되면 새로 고침 컨트롤의 endRefreshing() 메서드를 호출한다고 되어 있다고 이해했습니다.
프로젝트에 해당 코드 적용
`CollectionView`를 업데이트 해야 되기 떄문에 `mySrcollView`에 `CollectionView`를 업데이트 해주는 메소드 넣어 주니 정상적으로 동작했습니다. 추후에 업데이트 예상하는 기능도 넣으면 좋을 것 같습니다. (현재는 딜레이 1초정도 줌)
업데이트 영상
'iOS > Swift' 카테고리의 다른 글
Swift) TableView Swipe (0) | 2022.08.20 |
---|---|
Swift) Localize (0) | 2022.08.18 |
Swift) iOS 메모리 영역 확인하기(Stack) (0) | 2022.07.25 |
Swift) 네트워크와 무관한 URLSession Unit Test를 하는 목적 (0) | 2022.07.23 |
Swift) CollectionView란?? (0) | 2022.07.23 |