Core Data CRUD NSManagedObjectContext 여러가지 transaction 메소드를 살펴보자 manager class AppDelegate.swift 에서 persistentContainer 를 계속 가져왔지만 매니저 클래스를 만들어서 사용하자 import Foundation import CoreData class PersistenceManager { static var shared: PersistenceManager = PersistenceManager() lazy var persistentContainer: NSPersistentContainer = { let container = NSPersistentContainer(name: "Model") container.loadPer..
+ 내용을 추가해서 아래의 포스팅을 다시 했습니다! https://gyuios.tistory.com/147 interactivePopGestureRecognizer navigationBar 를 숨기지 않은 상태라면 좌측에서 우측으로 스와이프하면 push 된 뷰컨이 pop 된다. 하지만 다음과 같이 숨김 상태라면 navigationController?.navigationBar.isHidden = true 스와이프해도 pop 되지 않는다. 이때 interactivePopGestureRecognizer 를 사용하면 pop 할 수 있다, override func viewDidLoad() { super.viewDidLoad() self.delegate = self self.dataSource = self if l..
scrollViewDidScroll(_:) 레이아웃 잡기 tableView.contentInset.top 과 같이 inset 을 주는 방법도 있다. let table = UITableView(frame: .zero, style: .grouped) table.contentInset = UIEdgeInsets(top: 200, left: 0, bottom: 0, right: 0) table.contentOffset.y = -200 나는 다른 방법을 생각해봤고 UITableView header 의 크기를 custom UIView 만큼 설정해줘서 tableview 위에 custom UIView 를 얹었다. // MARK: - UITableViewDelegate extension ViewController: UI..
selectedBackgroundView 와 selectionStyle 을 활용해서 cell 이 선택되었을때 불필요하게 변하는 회색 배경을 없앨 수 있다. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { guard let cell = tableView.dequeueReusableCell(withIdentifier: "StoryTVC") as? StoryTVC else { return UITableViewCell() } // 방법 1 // let backgroundCell = UIView() // backgroundCell.backgroundColor = .white // cell...
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..
- OpenSourceLibrary
- IOS
- github
- Swift
- Algorithm
- UserDefaults
- Protocol
- WWDC
- watchOS
- 서버통신
- MVVM
- SwiftUI
- CloneCoding
- APNS
- containerBackground
- Objective-C
- Widget
- YPImagePicker
- WidgetKit
- rxswift
- configurable widget
- projectsetting
- Firebase
- async/await
- RxCocoa
- 2022 KAKAO TECH INTERNSHIP
- MOYA
- Notification
- urlsession
- WWDC22
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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