일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 애니메이션
- uiscrollview
- uitableview
- collectionview
- Refactoring
- Human interface guide
- ribs
- rxswift
- ios
- 리펙토링
- Xcode
- tableView
- UITextView
- combine
- 리팩토링
- 클린 코드
- Protocol
- swift documentation
- Observable
- SWIFT
- HIG
- map
- Clean Code
- UICollectionView
- MVVM
- 리펙터링
- clean architecture
- 스위프트
- RxCocoa
- swiftUI
- Today
- Total
목록ContentInset (4)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bvjIIZ/btrwhUohImR/9SA9WX0VAMJirdPpqb56WK/img.png)
UITableView에서 셀 간 간격 설정 방법 * CustomCell에서 layoutSubviews를 이용하여 설정 방법은 해당 포스팅 글 참고 가장 단순한 방법은 UICollectionView를 사용하여 UITableView처럼 사용 아래에서 볼 것이지만, UITableView는 contentInset 설정도 버그가 있으므로 UICollectionView 사용을 지향 UICollectionView와 UICollectionViewFlowLayout를 사용 let layout = UICollectionViewFlowLayout() layout.minimumLineSpacing = 8.0 // CGSize { .init(width: collectionView.bounds.width - 60, height:..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eeF7x8/btrtADicGQw/qKCrZL98mtDaEbEQJ3ODT1/img.png)
UITextView 위 사진처럼 UITextView는 내부적으로 textInputView를 가지고 있는 형태 textInputView를 감싸고 있는 프로퍼티는 textContainer이므로, textInputView 내부의 inset을 조절하고 싶은 경우에는 `textContainerInset` 프로퍼티를 사용 UITextView는 UIScrollView를 상속받고 있으므로, scroll 속성도 갖고있는 상태 UIScrollView에서의 내부 컨텐츠는 textInputView이고, 프레임은 UITextView의 레이아웃에 따름 contentInset, textContainerInset, scrollIndicatorInsets UITextView에서는 내부적으로 textInputView와 UIScrollV..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKVqj4/btrdqjGmqkB/bUwWJFei6TqwbsXkgRUpkK/img.png)
스위프트에서의 layoutMagins 개념 현재 뷰의 경계와 content와의 여백 개념 혼동 주의: 현재 뷰 경계와 superview와의 여백이 아님을 주의 storyboard에서 layoutMargins 확인 방법 Editor > Canvas >Layout Rectangles layout 설정 시 "Constrain to margins" 옵션을 체크한 후 autolayout적용 시 view 내부에 margin값을 고려한 배치 cf) code에서 layoutMarginsGuide 주는 방법: layoutMarginsGuide. 으로 접근 imageView.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor) 내부 label이 margi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cCbxMz/btqZ3gvskKH/Q465c1gXIL5o6awtWl69r1/img.gif)
cf) 오른쪽 스크롤 바 표출, flashScrollIndicators(): ios-development.tistory.com/341 상단 refresh (with RxCocoa) - UIRefreshControl 사용 (상단에 시스템에서 뿌려주는 로딩 UI 생성) 사용: 사용자 입장에서 tableView를 볼 때, 상단 refresh를 사용하는 경우는 tableView의 내용이 변한 경우에 사용 cf) 하단 refresh 사용: tableView를 밑으로 내려서 api로 부터 내용을 더 load하고 싶은 경우 사용 사용 방법: `UIRefreshControl` 객체를 선언한 후 이 객체를 tableView의 refreshControl로 등록 후 객체의 isRefreshing 값에 업데이트 UIRefre..