UIPageViewController import UIKit class MainPageVC: UIPageViewController { // MARK: - Properties private var currentIndex = 0 lazy var vcArray: [UIViewController] = { return [self.vcInstance(name: "ViewController"), self.vcInstance(name: "AddVC")] }() private func vcInstance(name: String) -> UIViewController { return UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifie..
기본폰트 커스텀폰트로 설정 1.프로젝트 내에 폰트를 복사하고 Target Membership 설정하기 2.info.plist 수정 textLabel.font = UIFont(name: "customfont", size: 17) 같은 방법으로 확장자를 제외하고 사용하면된다. 3.이제 기본폰트로 설정해보자 Extension.swift 에서 설정 import Foundation import UIKit struct AppFontName { static let regular = "NanumMyeongjo-Regular" static let bold = "NanumMyeongjo-Bold" static let italic = "SpoqaHanSans-Italic" } extension UIFontDescriptor..
UITableView 당겨서 새로고침 //MARK: - View Life Cycle override func viewDidLoad() { //... setUI() } //MARK: - @obcj Methods @objc func pullToRefresh(refresh: UIRefreshControl) { print("pullToRefresh()") refresh.endRefreshing() //새로고침 시 적용하고 싶은 코드. tableView.reloadData() } private func setUI() { //... // 당겨서 새로고침 let refreshControl = UIRefreshControl() // 이미지 안보이게 하기 // refreshControl.tintColor = .clear..
Core Data 에 대해서 Core Data 는 iOS 기본 프레임워크이다. UserDefaults 는 app setting 같은 간단한 정보를 저장하기에 적합하다면 Core Data 는 복잡하고 큰 user data 를 저장하기에 적합하다. 예를 들어 내 아이폰 내에서의 검색 기록과 같이 시간과 키워드에 해당하는 정보를 저장하기에 UserDefaults 보다 적합할 수 있다. 'Core Data 는 Database 인가?' 아니다. 데이터를 유지하기 위한 API 도 아니다. 객체 그래프를 관리하는 Framework 이다. 이 객체 그래프를 디스크에 저장하여 Persistence 기능을 이용할 수 있는 것이다. 보통 영구적으로 저장하기 위해서 Core Data 를 사용하는데 Persist..
UICollectionView cell 왼쪽정렬 1.다음과 같은 스위프트 파일을 만듭니다. import Foundation import UIKit class LeftAlignedCollectionViewFlowLayout: UICollectionViewFlowLayout { override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? { let attributes = super.layoutAttributesForElements(in: rect) var leftMargin = sectionInset.left var maxY: CGFloat = -1.0 attributes?.forEach { l..
delegate 에 여러개의 컬렉션뷰를 연결하기 컬렉션뷰를 구분해서 각각 다르게 설정해주고 싶었다. 총 두가지 방법이 있다. collectionView == ... 과 같이 내가 원하는 뷰일때 라는 조건문을 사용한다. func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { if collectionView == bandCollectionView { guard let bandCell = bandCollectionView.dequeueReusableCell(withReuseIdentifier: "BandCollectionViewCell", for: inde..
UIButton 코드로 짜기 let bookBtn = UIButton() //title bookBtn.setTitle("예매율순", for: .normal) //title color bookBtn.setTitleColor(.black, for: .normal) //title fontsize bookBtn.titleLabel?.font = UIFont.systemFont(ofSize: 12) //imageview image bookBtn.setImage(UIImage(systemName: "circle.fill"), for: .normal) //imageview image size bookBtn.setPreferredSymbolConfiguration(.init(pointSize: 3, weight: .r..
- Objective-C
- projectsetting
- SwiftUI
- containerBackground
- WWDC22
- Protocol
- rxswift
- OpenSourceLibrary
- 2022 KAKAO TECH INTERNSHIP
- watchOS
- IOS
- urlsession
- UserDefaults
- YPImagePicker
- 서버통신
- CloneCoding
- MOYA
- github
- configurable widget
- Notification
- Algorithm
- Firebase
- WidgetKit
- Swift
- MVVM
- Widget
- WWDC
- APNS
- RxCocoa
- async/await
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday