반응형

iOS/Swift 어플 따라하기 58

[Swift] ContainerView 속 CollectionView(Horizontal) (NestedScrollView)

지난시간 ScrollView레이아웃 설정에 이어서 오늘은 ContainerView안에 Horizontal CollectionView를 구현해보겠습니다 https://accompani-i.tistory.com/162 [Swift] ScrollView 개념과 레이아웃 설정(scrollview error) 스크롤뷰란 사진으로 ScrollView를 설명해보면 점선틀은 사용자들에게 보여지는 틀인 ScrollView이고 뒤에 배경은 ContentsView입니다. 애플사용자들을 예시로 들어보면 배경화면 바꿀 때 사진이 좀 크 accompani-i.tistory.com 오늘 완성할 NestedScrollView를 영상으로 먼저 보겠습니다. NestedscrollView를 구현할 때 할 것들은 무엇이 있을까요? 1. ..

[Swift] ScrollView 개념과 레이아웃 설정(scrollview error)

스크롤뷰란 사진으로 ScrollView를 설명해보면 점선틀은 사용자들에게 보여지는 틀인 ScrollView이고 뒤에 배경은 ContentsView입니다. 애플사용자들을 예시로 들어보면 배경화면 바꿀 때 사진이 좀 크면 배경화면을 설정할 구역을 움직여서 선택하게 되는데 이때 우리 화면에 보여지는 화면 틀이 ScrollView 뒤에 사진이 ContentsView로 보시면 됩니다. ViewController에 ScrollView에 레이아웃을 설정하게 되면 아래 사진과 같이 에러가 나게 됩니다. 해결 방법 ScrollView하위에 View를 설정해주고 View의 레이아웃을 설정해주면 됩니다. 1. ScrollView에 Leading, Top, Trailing, Bottom 설정해줍니다. 2. 상위 View와 너..

[Swift] Firebase Realtime Database에서 update, delete

오늘은 Firebase에서 데이터를 update하고 delete하는 기능을 알아볼텐데, view에서 버튼을 눌렀을 때 firebase에 update, delete뿐만아니라 이전시간에 했던 create까지 되도록 해보겠습니다. 오늘의 목표 영상으로 먼저 보겠습니다. button과 레이아웃 설정은 생략하겠습니다. CREATE @IBAction func createCustomer(_ sender: Any) { saveCustomers() } //지난 시간 작성(하단 참조) https://accompani-i.tistory.com/159 [Swift] Firebase RealtimeDatabase Write Data 데이터를 Firebase에 dictionary형태로 writing해보겠습니다. 서점에서 고객관리..

[Swift] Firebase Realtime Database에서 Parsing Data

데이터를 읽고 쓰기를 해봤으니 이번시간에는 서버에 있는 데이터를 parsing 해보겠습니다. Firebase Realtime Database - Read Data https://accompani-i.tistory.com/158 [Swift] Firebase Realtime Database에서 Read Data Firebase에서 데이터를 입력합니다. firstData: Hello Firebase 이후 받아온 데이터를 아래 그림과같이 데이터를 읽어보겠습니다. ViewController import UIKit import Firebase class ViewController: UIViewCo.. accompani-i.tistory.com Firebase Realtime Database - Write Data..

[Swift] Firebase RealtimeDatabase Write Data

데이터를 Firebase에 dictionary형태로 writing해보겠습니다. 서점에서 고객관리 데이터를 넣고싶다고 가정 해보면 override func viewDidLoad() { super.viewDidLoad() saveCustomers() } //saveCustomer()호출 func saveCustomers() { let books = [Book(title: "BbiDdiBaBiDiBu", author: "Chul"), Book(title: "Machine", author: "Young")] let customer1 = Customer(id: "\(Customer.id)", name: "ChaSsi", books: books) Customer.id += 1 let customer2 = Custo..

[Swift] Firebase Realtime Database에서 Read Data

Firebase에서 데이터를 입력합니다. firstData: Hello Firebase 이후 받아온 데이터를 아래 그림과같이 데이터를 읽어보겠습니다. ViewController import UIKit import Firebase class ViewController: UIViewController { @IBOutlet weak var dataLabel: UILabel! let db = Database.database().reference() //Database라이브러리를 받아와서 참조한다.(firebase,cocoapod이 설치 돼있어야 합니다) override func viewDidLoad() { super.viewDidLoad() updateLabel() func updateLabel() { db.c..

[swift] SDK? / cocoapods 설치

SDK: Software Development Kit(=개발도구) Firebase iOS SDK: firebase의 기능을 앱에 접목하기 위한 개발 도구입니다. 구글에서 만든 SDK는 대표적으로 cocoapods가 있습니다. cocoapods는: 외부 라이브러리 관리 모듈입니다. cocoapod은 외부 개발도구 or 라이브러리를 가져오는 역할 SDK를 cocoapods를 통해 라이브러리를 표현한다. https://cocoapods.org/ CocoaPods.org CocoaPods is built with Ruby and is installable with the default Ruby available on macOS. We recommend you use the default ruby. Using t..

[Swift] PlayerView가로모드/ ViewController를 띄웠을 때/preview자동플레이/재생,정지버튼

오늘은 플레이어뷰의 가로모드를 구현해보겠습니다. 위 코드처럼 ViewController에 playerView와 UIView, UIButton을 각각 연결 시켜 주시고 AVPlayer을 player로 가져옵니다. 가로 모드 변환 코드는 override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .landscapeRight } 플레이어가 진행중인지 아닌지 확인하는 메서드는 extension AVPlayer { var isPlaying: Bool { guard self.currentItem != nil else { return false } return self.rate != 0 } 이후 ViewController를 눌렀을 ..

[Swift] Search 결과 UICollectionView로 표현(서드파티 라이브러리 사용)

오늘 할 일은 Search했을 때 검색에 해당하는 데이터를 UICollectionView로 표현할 건데, 데이터는 ImagePath(String)타입인데, UICollectionView에는 이미지가 들어가야 하므로, 서드파티 라이브러리를 사용하여 이를 적용시켜 Collection View에 이미지가 보여지는 것을 진행 해 보겠습니다. 오늘의 목표 먼저 영상 확인 하시죠 할 일 1. 뷰컨트롤러에 UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout 추가하기 2. 받아온 파일 업데이트 시켜주기 3. Thread 오류 해결하기 4. 서드파티 라이브러리고 데이터->image로 표현 1. 뷰컨트롤러에 UICo..

[Swift] SearchAPI를 구현해 보자.

할 일 1. Response, Movie structure만들기 2. struct의 프로퍼티 이름과 실제 데이터의 key 맞추기(Codable 디코딩하게 하기 위해서) 3. 파싱하고 Movie 정보 출력하기 1. Response, Movie structure만들기 2. struct의 프로퍼티 이름과 실제 데이터의 key 맞추기(Codable 디코딩하게 하기 위해서) struct Response: Codable { let resultCount: Int let movies: [Movie] enum CodingKeys: String, CodingKey { case resultCount case movies = "results" } } struct Movie: Codable { let title: Strin..

반응형