일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Xcode
- Observable
- UICollectionView
- collectionview
- rxswift
- Clean Code
- UITextView
- ribs
- SWIFT
- swift documentation
- 리팩토링
- 애니메이션
- uiscrollview
- 리펙터링
- combine
- MVVM
- clean architecture
- swiftUI
- map
- tableView
- 클린 코드
- uitableview
- RxCocoa
- 스위프트
- 리펙토링
- HIG
- Protocol
- Human interface guide
- ios
- Refactoring
- Today
- Total
목록setContentOffset (2)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dV8MZD/btszjsChbRj/oc6DFhSYNiDrivx9KAywZ0/img.png)
setContentOffset 개념 UIScrollView의 메서드이며, CGPoint 좌표를 통해 원하는 곳으로 스크롤 하게끔하는 기능 애플에서는 이 메서드에 completion handler를 따로 작성하지 않아 직접 구현이 필요 completion 구현하는 방법에는 UIView.animate와 CATransaction 등등의 방법이 널리 알려져 있지만 이 방법으로는 completion 동작 x setContentOffset에 completion 구현 방법 "contentOffsetAnimationDuration"를 사용하여 UIScrollView의 인스턴스에 setValue로 입력하면 스크롤 속도를 지정할 수 있는 아이디어를 사용 scrollView.setValue(0.5, forKeyPath: "..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l5RZ3/btsiBL4AJYk/euRXWgffIeDtmIDq0LVkj0/img.gif)
스크롤 구분 방법 스크롤을 정교하게 컨트롤하다보면 사용자가 드래그하여 스크롤이 시작되었는지, setContentOffset(_:animated:)로 스크롤을 지정했는지 구분이 필요 ex) UIScrollView에서 스크롤 될 때마다 특정 처리를 하고싶은 경우 사용하는 didScroll 델리게이트에서 setContentOffset과 직접 드래그 했을때 구분하고 싶은 경우? extension ViewController: UITableViewDelegate { func scrollViewDidScroll(_ scrollView: UIScrollView) { print(scrollView.contentOffset) label.text = "\(scrollView.contentOffset)" } } 사용자가 드래..