Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- swiftUI
- UICollectionView
- uiscrollview
- swift documentation
- combine
- 스위프트
- tableView
- SWIFT
- Human interface guide
- Protocol
- ribs
- ios
- MVVM
- map
- 리펙토링
- 애니메이션
- RxCocoa
- 리펙터링
- 리팩토링
- collectionview
- UITextView
- Refactoring
- HIG
- clean architecture
- 클린 코드
- rxswift
- Clean Code
- Xcode
- Observable
- uitableview
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 스크롤 끝나는 타이밍 확인 방법 (#UIScrollView, #decelerate, scrollViewDidEndDragging) 본문
iOS 응용 (swift)
[iOS - swift] 스크롤 끝나는 타이밍 확인 방법 (#UIScrollView, #decelerate, scrollViewDidEndDragging)
jake-kim 2024. 2. 9. 01:12scrollViewDidEndDragging(_:willDecelerate:) 개념
- scrollView의 델리게이트 메소드
- 스크롤하는 드래그가 종료되었을때 호출
- 스크롤이 종료되었을때 호출
- decelerate값이 true이면 사용자가 스크롤을 놓을때 관성으로 놓아진것 (드래그를 떼고나서 서서히 멈추는 스크롤 됨)
- decelerate값이 false이면 사용자가 스크롤을 놓을때 관성없이 놓은것 (드래그를 떼고나서 바로 멈춤)
extension ViewController: UITableViewDelegate {
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
print("decelerate>", decelerate)
}
}
decelerate를 이용하여 스크롤 끝나는 타이밍 알기
- true와 false인 상태
- decelerate값이 true: 드래그를 떼고나서 서서히 멈추는 스크롤이 동작
- decelerate값이 false: 드래그를 떼고나서 바로 멈춤
- false인 상태인 경우, 드래그가 떼어졌을때 서서히 멈추는 스크롤 없이 스크롤이 바로 멈추는 경우인데, 이것을 활용하면 다양한 케이스 대응이 가능
- 스크롤을 안뗀 상태에서 다른 화면으로 이동한 경우
- 스크롤을 안뗀 상태에서 background로 이동한 경우
- 중요한 사실: 스크롤을 안뗀 상태에서 위와같은 상황이 발생하면 gesture가 취소되고 바로 scrollViewDidEndDragging 메서드가 호출됨 ()
ex) 스크롤을 안뗀 상태에서 background로 이동한 경우 -> decelerate값이 false로 호출
'iOS 응용 (swift)' 카테고리의 다른 글
[iOS - swift] Debounce 직접 구현해보기 (0) | 2024.02.13 |
---|---|
[iOS - swift] DispatchQueue에서 [weak self]를 안써도 되는 이유 이해하기 (0) | 2024.02.10 |
[iOS - swift] layoutIfNeeded() 동작원리 이해하기 (1) | 2024.02.08 |
[iOS - swift] Autolayout과 translatesAutoresizingMaskIntoConstraints 이해하기 (Autoresizing Mask) (1) | 2024.02.07 |
[iOS - swift] Type casting 표현식 (0) | 2024.02.06 |
Comments