▪︎ UserDefaults? UserDefaults 클래스는 기본 시스템과 상호작용 할 수 있도록 인터페이스를 제공해준다. 이를 통해 사용자 기본 데이터 베이스(plist)에 key - value쌍 형태의 데이터를 저장해 사용한다. Float, Double, Integer, Boolean, URL과 같은 일반적인 유형뿐만 아니라 NSData, NSString, NSNumber, NSDate, NSArray와 같은 유형의 객체도 저장돼며, 단일 기기에 로컬로 저장되 앱이 삭제되지 않는 한 데이터가 유지된다. UserDefaults는 단일 데이터 값에 적합하기 때문에 앱의 미디어 재생 속도, 알람 On / Off 여부, 사용자가 선호하는 측정 단위 등 앱의 기본 설정을 저장하는데 주로 사용된다. Apple..
저번 글에서 공부했던 DatePicker를 이용해 Timer를 만들어 보자. StoryBoard와 ViewController는 다음과 같다. DatePicker의 모드는 .countDownTimer로 설정한다. datePicker.datePickerMode = .countDownTimer datePicker Action을 추가하자. Event가 Value Changed라고 되어있으므로 datePicker의 값이 변경될 때마다 Action이 호출된다. datePicker의 값이 변경될 때마다 선택한 countDownDuration(= 카운트 다운 지속시간)이 얼마인지 출력해보았다. Timer() 클래스를 이용해 countDownDuration만큼 Timer가 실행되도록 만들어보자. ViewControlle..
위와 같은 CollectionView를 Storyboard 없이 코드를 사용해서 구현해보자. Autolayout은 SnapKit을 사용했다. 1. UICollectionViewCell 생성 먼저 CollectionView에 사용할 UICollectionViewCell을 만들었다. CollectionViewCell.swift // // CollectionViewCell.swift // CollectionView_Programmatically_Tutorial import UIKit import SnapKit class CollectionViewCell: UICollectionViewCell { // Reuse Identifier static let cellId = "CollectionCellId" // Se..
CollectionView를 사용하다가 에러가 발생했다. "UICollectionView must be initialized with a non-nil layout parameter" "UICollectionView는 non-nil layout 파라미터로 초기화해야 한다" UICollectionView를 선언할때 다음과 같이 해주자. let collectionView = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())
CAGradientLayer을 이용해서 Gradient 효과를 만들어보자. Apple Developer Documentation developer.apple.com 우선 간단하게 Gradient를 추가해보자. import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let gradientLayer = CAGradientLayer() gradientLayer.frame = view.bounds gradientLayer.colors = [UIColor.red.cgColor, UIColor.blue.cgColor] view.layer.addSublayer(gradientLayer) ..
SnapKit ? AutoLayout을 간결한 코드로 작성할 수 있는 프레임워크 https://github.com/SnapKit/SnapKit Install SnapKit SPM(Swift Package Manager)을 이용해 설치해 주었다. 물론 CocoaPods, Carthage으로도 가능하다. File - Add Packages... SnapKit의 Github 주소 복붙 후 Add Package SnapKit 체크 후 Add Package 완료 이제 사용해보자 SnapKit Usage SnapKit Github에 있는 예제 코드이다. 뷰를 하나 만들고 중앙에 위치시켜보자. 1. 먼저 firstBox라는 UIView를 생성 2. addSubView로 firstBox 추가 3. 제약을 줄 객체에 s..
앱 개발 중 자주 사용하는 UITableView의 기본적인 사용법에 대해 알아보자. 시작! 먼저 Storyboard에 Table View를 추가한다. 화면 전체에 TableView를 보여줄 것이기 때문에 Constraints를 전부 0으로 설정했다. tableView를 우클릭으로 끌어다 ViewController에 Outlet으로 등록! 다음으로 tableView에 들어갈 cell을 만들어보자. File - New - File - Cocoa Touch Class 선택! Subclass of를 UITableViewCell로 변경 그리고 XIB file을 이용해서 cell을 구성할 것이기 때문에 Also create XIB file 선택 체크 후 생성! 그럼 myTableViewCell.swift 와 myT..
코드를 이용해 AutoLayout을 구현해보자. 먼저 View 하나를 만들고 backgroundColor를 blue로 해주었다. import UIKit class ViewController: UIViewController { let firstView = UIView() override func viewDidLoad() { super.viewDidLoad() firstView.backgroundColor = .blue } } 1. addSubview addSubview로 firstView를 추가해주자. view.addSubview(firstView) 2. translatesAutoresizingMaskIntoConstraints = false firstView.translatesAutoresizingMas..
- Total
- Today
- Yesterday
- bottom sheet
- Algorithm
- Gradient View
- BOJ 1935
- crud
- 요시푸스
- 2023 회고
- BOJ 17413
- BOJ 10808
- ios
- Carousel Effect
- swift
- BOJ 17298
- UICollectionView banner
- git
- Custom Detent
- sheetPresentationController
- Stack
- CAGradientLayer
- github
- BOJ 10809
- Sheet Height
- BOJ 10799
- 1406 에디터
- NaverMaps
- UICollectionView Error
- BOJ 10820
- Card CollectionVIew
- autolayout
- BOJ 10866
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |