iOS/UIKit
-
[참고 영상] https://youtu.be/_U6_l58Cv4E [학습 목표] 버튼 생성과 네비게이션 이동을 코드베이스로 구현해보자. *외국에서는 코드베이스를 Programmatic이라고 부른다. [구현 방법] UIKit 템플릿을 이용해서 Xcode를 실행해보면 StoryBoard가 기본적으로 파일이 있을 것이다. 해당 StoryBoard를 지우고 info.plist와 우측의 찾기 버튼에서 storyboard를 검색해 설정에서 storyboard를 지워주자! 이와 같이 2번의 storyboard 설정을 지우면 SceneDelegate로 이동을 하자. SceneDelegate의 안에는 가장 윗부분에 scene 함수가 있을텐데 해당 함수 안의 내용을 바꿔주도록 하자. func scene(_ scene: U..
[UIKit][코드베이스] Programmatic UI - UIKit[참고 영상] https://youtu.be/_U6_l58Cv4E [학습 목표] 버튼 생성과 네비게이션 이동을 코드베이스로 구현해보자. *외국에서는 코드베이스를 Programmatic이라고 부른다. [구현 방법] UIKit 템플릿을 이용해서 Xcode를 실행해보면 StoryBoard가 기본적으로 파일이 있을 것이다. 해당 StoryBoard를 지우고 info.plist와 우측의 찾기 버튼에서 storyboard를 검색해 설정에서 storyboard를 지워주자! 이와 같이 2번의 storyboard 설정을 지우면 SceneDelegate로 이동을 하자. SceneDelegate의 안에는 가장 윗부분에 scene 함수가 있을텐데 해당 함수 안의 내용을 바꿔주도록 하자. func scene(_ scene: U..
2022.10.12 -
[참고영상] https://youtu.be/cOcjrmFp2v8 [학습 목표] 이미지를 드래그 & 드롭하거나 드롭했을시 원래 위치로 돌아오게 만들자. [구현 방법] 1. viewDidLoad 안쪽에 imageView와 card뷰를 만들자. 2. "DALL"이라는(혹은 다른 이름의) 이미지를 Asset안에 넣어두자. fileprivate let imageView = UIImageView(image: UIImage(named: "DALL")) override func viewDidLoad() { super.viewDidLoad() view.addSubview(imageView) imageView.contentMode = .scaleAspectFill imageView.translatesAutoresizing..
[UIKit][코드베이스] Drag and Drop Picture[참고영상] https://youtu.be/cOcjrmFp2v8 [학습 목표] 이미지를 드래그 & 드롭하거나 드롭했을시 원래 위치로 돌아오게 만들자. [구현 방법] 1. viewDidLoad 안쪽에 imageView와 card뷰를 만들자. 2. "DALL"이라는(혹은 다른 이름의) 이미지를 Asset안에 넣어두자. fileprivate let imageView = UIImageView(image: UIImage(named: "DALL")) override func viewDidLoad() { super.viewDidLoad() view.addSubview(imageView) imageView.contentMode = .scaleAspectFill imageView.translatesAutoresizing..
2022.10.07 -
[참고영상] https://youtu.be/VrW_6EixIVQ [학습 목표] Drag & Drop 기능을 이용하여서 CollectionView의 위치를 옮겨 보자! [구현 방법] 1. 이동을 하고 옮겨지는 CollectionView를 우선 만들어보자. import UIKit class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { private var collectionView: UICollectionView? var colors: [UIColor] = [ .link, .systemGreen, .systemBlue, .red, ..
[UIKit] Drag & Drop CollectionView Cells (코드베이스)[참고영상] https://youtu.be/VrW_6EixIVQ [학습 목표] Drag & Drop 기능을 이용하여서 CollectionView의 위치를 옮겨 보자! [구현 방법] 1. 이동을 하고 옮겨지는 CollectionView를 우선 만들어보자. import UIKit class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { private var collectionView: UICollectionView? var colors: [UIColor] = [ .link, .systemGreen, .systemBlue, .red, ..
2022.10.06 -
[참고영상] https://youtu.be/3d1HNBpqvuM [학습 목표] pencilkit을 활용해 아이폰 / 아이패드에서 글씨를 쓰는 페이지를 만들자! [구현 방법] 1. StoryBoard에 카메라 버튼과 글을 쓰는 모드와 읽기모드로 바꿀 Pencil 버튼 그리고 흰색의 캔버스를 위한 UIView를 구현해주자. 2. viewDidLoad()를 셋팅해주자. override func viewDidLoad() { super.viewDidLoad() //canvas에 그림을 그리게 할 장치. canvasView.delegate = self canvasView.drawing = drawing canvasView.alwaysBounceVertical = true //여기서는 애플펜슬만 그림을 그리게 정할것..
[UIKit] Simple Drawing App with PencilKit[참고영상] https://youtu.be/3d1HNBpqvuM [학습 목표] pencilkit을 활용해 아이폰 / 아이패드에서 글씨를 쓰는 페이지를 만들자! [구현 방법] 1. StoryBoard에 카메라 버튼과 글을 쓰는 모드와 읽기모드로 바꿀 Pencil 버튼 그리고 흰색의 캔버스를 위한 UIView를 구현해주자. 2. viewDidLoad()를 셋팅해주자. override func viewDidLoad() { super.viewDidLoad() //canvas에 그림을 그리게 할 장치. canvasView.delegate = self canvasView.drawing = drawing canvasView.alwaysBounceVertical = true //여기서는 애플펜슬만 그림을 그리게 정할것..
2022.10.04 -
[참고 영상] (151) MVVM Combine Swift (2022) | UIKit | Transform Input & Output - YouTube [학습 목표] 비동기 처리를 이용해 버튼을 눌렸을 시 반응이 오는 프로그램을 MVVM 모델과 Combine을 이용해서 만들어 보자. [구현 방법] 우선은 MVVM에서의 가장 처음이자 필요한 Model이다. import Foundation import Combine //https://api.quotable.io/random protocol QuoteServiceType { func getRandomQuote() -> AnyPublisher } class QuoteService: QuoteServiceType{ func getRandomQuote() -> A..
[Combine] MVVM Combine - Transform Input & Output[참고 영상] (151) MVVM Combine Swift (2022) | UIKit | Transform Input & Output - YouTube [학습 목표] 비동기 처리를 이용해 버튼을 눌렸을 시 반응이 오는 프로그램을 MVVM 모델과 Combine을 이용해서 만들어 보자. [구현 방법] 우선은 MVVM에서의 가장 처음이자 필요한 Model이다. import Foundation import Combine //https://api.quotable.io/random protocol QuoteServiceType { func getRandomQuote() -> AnyPublisher } class QuoteService: QuoteServiceType{ func getRandomQuote() -> A..
2022.10.03 -
서평단에 응모를 했었는데 당첨이 되어서 책이 왔다! 사실 책은 며칠 먼저 왔지만 맥북이 오는것을 기달렸다가 첫째 마당을 공부하고 글을 쓰느라 시간이 조금 걸렸다. 책은 크게 1. Hello! 아이폰 앱 2. 뷰 기반 프로그램 직접 만들기 3. 뷰 컨트롤러 기반 프로그램 만들기 4. 멀티미디어 활용하기 5. 이벤트와 제스처 의 5가지 챕터로 구성되어 있다. 입문 단계이기 때문에 문법 위주의 책은 아니지만 예제등을 통하여 기본적인 앱을 만들면서 흥미를 이끌고 파고들 수 있게 구성이 되어 있다. 이전에 들었던 백엔드 강의에서 이론 위주로 가르치는 것보다 실습 위주로 가르칠 때 사람들이 흥미를 갖고 졸지 않으면서 듣는다고 했었는데 개인적으로 Do it 시리즈가 이러한 측면으로 굉장히 잘 구성되어 있다고 생각한다..
Do it! 스위프트로 아이폰 앱 만들기서평단에 응모를 했었는데 당첨이 되어서 책이 왔다! 사실 책은 며칠 먼저 왔지만 맥북이 오는것을 기달렸다가 첫째 마당을 공부하고 글을 쓰느라 시간이 조금 걸렸다. 책은 크게 1. Hello! 아이폰 앱 2. 뷰 기반 프로그램 직접 만들기 3. 뷰 컨트롤러 기반 프로그램 만들기 4. 멀티미디어 활용하기 5. 이벤트와 제스처 의 5가지 챕터로 구성되어 있다. 입문 단계이기 때문에 문법 위주의 책은 아니지만 예제등을 통하여 기본적인 앱을 만들면서 흥미를 이끌고 파고들 수 있게 구성이 되어 있다. 이전에 들었던 백엔드 강의에서 이론 위주로 가르치는 것보다 실습 위주로 가르칠 때 사람들이 흥미를 갖고 졸지 않으면서 듣는다고 했었는데 개인적으로 Do it 시리즈가 이러한 측면으로 굉장히 잘 구성되어 있다고 생각한다..
2022.03.10