일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- uiscrollview
- HIG
- swiftUI
- map
- Observable
- Protocol
- 리펙토링
- SWIFT
- MVVM
- 애니메이션
- 리펙터링
- ribs
- Xcode
- 리팩토링
- UICollectionView
- collectionview
- 스위프트
- clean architecture
- Clean Code
- rxswift
- uitableview
- tableView
- Refactoring
- ios
- swift documentation
- RxCocoa
- UITextView
- Human interface guide
- combine
- 클린 코드
- Today
- Total
목록cell (7)
김종권의 iOS 앱 개발 알아가기
1. FlexLayout과 PinLayout 사용 방법 - UIStackView 개선, 속도 향상, 기능 추가, 선언형 2. FlexLayout과 PinLayout 사용 방법 - 여백(margin, padding), 정렬(alignItems, justifyContent) 3. FlexLayout과 PinLayout 사용 방법 - 특정 뷰(Cell, scrollView), 기타(grow, shrink) scrollView에 적용 방법 1. 뷰 준비 - container, scrollView, contentView scrollView안에 들어갈 뷰는 내부적으로 contentSize 크기에 따라 스크롤이 결정되는 UIScrollView + UIStackView처럼 구현 (이 구현 방법은 이전 포스팅 글 참고)..
1. FlexLayout과 PinLayout 사용 방법 - UIStackView 개선, 속도 향상, 기능 추가, 선언형 2. FlexLayout과 PinLayout 사용 방법 - 여백(margin, padding), 정렬(alignItems, justifyContent) 3. FlexLayout과 PinLayout 사용 방법 - 특정 뷰(Cell, scrollView), 기타(grow, shrink) 예제로 잘성될 코드 준비 import UIKit import FlexLayout import PinLayout class ViewController: UIViewController { private let container = UIView() private let label1: UILabel = { let ..
Section을 사용하는 기준 분류 - TableView / Section / Cell -> Cell들은 서로 연관되어 있는지? 연관이 적으면 Section으로 나누기 -> Section들은 표현하려는 방향이 같은지? 표현하려는 방향이 같으면 하나의 TableView에 표현 Section을 한 개만 사용 vs Section을 여러개 사용 아래처럼 아이폰에 설치되어 있는 Setting앱을 보면, 하나의 TableView안에 Section이 여러개로 나누어져 있는 패턴 Section의 개념? Section은 하나의 TableView 안에서 데이터의 성격을 분류할 때 사용하는 것 Cell은 같은것을 쓸지라도 성격에 따라 Section을 나누어서 사용할 것 (Cell만 적용하다가 Cell끼리의 성격이 달라진다 ..
CheckBoxCell 구현 isCheck라는 property가 있고, 이 property를 통해 check되면 체크 이미지를 업데이트하고 값을 가지고 있는 상태 // CheckboxCell.swift var isCheck: Bool = false { didSet { let imageName = isCheck ? "checkmark.square" : "checkmark.square.fill" checkBoxButton.setImage(UIImage(systemName: imageName), for: .normal) } } cell이 check되는지 확인은 UITableViewCell에서 제공하는 setSelected(:animated:)를 override하여 사용 // CheckboxCell.swift..
TableView Section의 구성 = 한개의 Header + 다수의 Cell + 한개의 Footer style은 세가지가 존재: https://ios-development.tistory.com/538 * 3가지 스타일 실행화면 plain grouped inset grouped Section 사용 방법 Cell 이용과 동일하게 delegate에서 Section의 개수와 header에 관한 함수, footer에 관한 함수에 각각 데이터 반환하여 사용 extension ViewController: UITableViewDelegate, UITableViewDataSource { // MARK: - Section func numberOfSections(in tableView: UITableView) -> I..
구조 main과 sub항목으로 나눔 main항목 하나는 하나의 section으로 구성 (하위들의 데이터: main, sub1, sub2, ...) (main1, sub1, sub2) 를 하나의 section으로 두면 인터렉션 관리에 용이하기 때문에 section으로 구성 main선택 -> 하위 sub모두 체크하기 쉬움 인터렉션 "위 내용에 모두 동의합니다" 선택: 모든 버튼 체크 / 해제 "필수"항목 누른 경우, 동의하기 버튼 활성화 모든 항목 선택 -> 위 내용에 모두 동의합니다 활성화 sub항목 존재하는 main항목 선택 -> sub 항목 모두 체크 sub항목이 존재하는 항목중에 sub항목 모두 체크 -> main항목 체크 Custom cell Hugging, compression값 설정: (필수)의..
xib, nib란? Xml Interface Builder: 플랫파일(아무런 구조적 상호관계각 없는 레코드들이 들어 있는 파일) -> nib와 기능적으로 동일 Next Interface Builder: nib는 바이너리 파일 즉, xlb를 nib로 바꾼 후 bundle(실행할 때 같이 실행되는 파일)에 올리는 것 바이너리 파일들을 xcode에서 관리하기 힘들기 때문에 xlb로 먼저 저장 custom cell 생성 배치 및 IBOutet생성 bind함수 정의 bind함수 정의 이유: 추후에 tableView의 델리게이트 함수에서 cell을 만든 후, dataSource에 관한 값을 cell에 입력할 때 아래와 같이 이용 func tableView(_ tableView: UITableView, cellFor..