일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Protocol
- combine
- tableView
- collectionview
- swift documentation
- Human interface guide
- HIG
- UICollectionView
- RxCocoa
- uiscrollview
- Xcode
- swiftUI
- ribs
- uitableview
- rxswift
- 클린 코드
- map
- ios
- Clean Code
- Refactoring
- 리팩토링
- Observable
- 리펙토링
- 스위프트
- clean architecture
- 애니메이션
- 리펙터링
- UITextView
- MVVM
- SWIFT
- Today
- Total
목록uiscrollview (21)
김종권의 iOS 앱 개발 알아가기
* 예제에 사용된 UIScrollView+UIStackView 사용한 베이스 코드는 이전 포스팅 글(UIScrollView+UIStackView 구현) 참고 (only code: https://github.com/JK0369/ExScrollView_UIStackView) 예제에 앞서, UIScrollView의 background 색상을 blue, UIStackView를 green로 설정 ContentInset 스크롤 가장자리로 부터 contentView와의 거리 값 핵심은 inset을 주면 그만큼 UIScrollView의 content 크기도 증가 만약 contentInset값을 top 120을 주게된다면? 120만큼 content의 top으로부터 edge까지 거리가 부여되며, 이 거리만큼 content..
* Code base로 구현하는 방법은 이 포스팅 글 참고 구현 아이디어 UIStackView안에 UIStackView를 넣어서 구현 storyboard로 구현할때는 code base로 구현하는것보다 손이 더 가는 부분이 있으므로 따로 볼 것 UIScrollView 구현 방법만 숙지하고 있다면 매우 쉽게 접근 가능 UIScrollView 사용 방법 1) UIScrollView를 추가하면 frame layout guide와 content layout guide가 존재 frame layout guide는 UIScrollView를 잡고 constraint 시킬 때, 그 constraint가 frame layout guide로 적용 (동일한것) content layout guide는 스크롤 뷰 안에 새로운 뷰를..
* 구현에 앞서, 수평 스크롤 뷰 준비 (UIScrollView와 UIStackView 이용) 구현 방법 및 코드는 이전 포스팅 글 참고 scrollRectToVisible 이해하기 rect 영역이 보이게끔 스크롤하는 것 open func scrollRectToVisible(_ rect: CGRect, animated: Bool) 파라미터인 rect는 스크롤 뷰 영역에 포함되어 있지 않으면 동작 x rect 영역이 이미 보이고 있다면 동작 x 만약 화면의 반인, 6부터 보이도록 스크롤하게 하는 방법? scrollRectToVisible에 사용될 rect 구하기 스크롤 되었을때 시작점은 CGPoint로 생각 스크롤의 시작점으로부터 얼마만큼 스크롤 될 것인지는 CGSize // 사각형의 영역을 그릴려면 필요..
구현 아이디어 Cell의 UI가 복잡하거나 여러가지의 타입이 있는 경우 보통 UITableView나 UICollectionView를 사용하지만, 위처럼 단순한 수평 스크롤 뷰는 UIScrollView와 UIStackView로 쉽게 구현 가능 주의할점은 UITableView, UICollectionView는 Cell을 재사용하여 UI성능에 이점이 있으므로, 데이터가 많을때는 UITableView나 UICollectionView를 사용 구현 핵심 부분은 데이터를 선택했을때 해당 데이터의 index를 알아내는 것인데, 이것또한 UIView의 tag를 활용하면 쉽게 구현이 가능 구현 * UI를 코드로 구현할 때 편의를 위해 아래 라이브러리 사용 pod 'SnapKit' pod 'Then' 수평 스크롤 뷰인 My..
UITableViewCell안에 버튼이 있을때의 highlighted 애니메이션 보통 회색 뷰의 버튼처럼 짧게 버튼을 눌러도 hilighted 색상으로 변하지만, UITableView안에 버튼이 있는 경우 (아래 흰색 뷰) hilighted 애니메이션이 안보일 정도로 짧게 동작 길게 누르고 있어야 애니메이션이 highlighted 애니메이션이 동작 delaysContentTouches 프로퍼티 UIScrollView이 가지고 있는 프로퍼티 UIScrollView 위에 쌓아진 뷰들을 touch-down 했을 때, 쌓아진 뷰를 잠깐 delay하고 UIScrollView가 대신 touch-down 이벤트를 받을지 판단할때 사용 true인 경우 (=디폴트): 셀 위에 button이 있을때, button이 터치 ..
UIPageViewController 첫 페이지와 마지막 페이지 스크롤 disable 방법 UIPageViewController의 일반적인 경우 첫번째 페이지에서 swipe left to right를 해도 스크롤 (bounce) 마지막 페이지에서 swipe right to left를 해도 스크롤 (bounce) 첫번째 페이지와 마지막 페이지에서 bounce 효과를 없애는 방법? 구현 방법 UIPageViewController에는 내부적으로 UIScrollView가 있는데, 이 스크롤뷰를 스크롤 할때마다 bounces 프로퍼티를 가지고 on/off 시도하여 구현 기본 PageViewController UI 준비 PageViewController 내부에는 LabelViewController가 있는 구성 im..
Nested Scroll이란? * more, less 스크롤 방향의 기준: 새로운 콘텐츠로 스크롤링하면 more, 이전 콘텐츠로 스크롤링하면 less ex) more scroll 한다는 의미: 손가락을 아래에서 위로 올려서 새로운 콘텐츠를 확인한다 1.outer scroll을 more 스크롤 만약 outer scroll을 more scroll 다 했으면, child scroll을 more scroll 2.outer scroll을 less 스크롤 만약 inner scroll이 less 스크롤 할게 남아 있다면 inner scroll을 less 스크롤 3. inner scroll을 less 스크롤 inner scroll을 모두 less scroll한 경우, outer scroll을 less scroll 4...
1. Sticky Header 구현 - 스크롤 시 상단 해더 숨기는 방법 2. Sticky Header 구현 - 스크롤 시 상단에 뷰 붙이는 방법 구현 아이디어 sticky할 뷰와 동일한 형태 뷰 준비 + 숨김 상태로 초기화 sticky 뷰는 scroll 안에 넣지 않고 맨 상단에 보이도록 scrollView보다 위에 있도록 addSubview scrollView의 top은 topView의 하단에 붙이기 (topView의 하단에 sticky도 붙일것) sticky 뷰는 topView하단에 붙이기 + stikcy의 높이는 sticky할 뷰의 높이와 동일하게 설정 스크롤 뷰의 델리게이트 메소드인 scrollViewDidScroll에서 stikcy 타이밍을 계산하여 stikcyHeaderView를 hide/s..