UICollectionView 10

[iOS] UICollectionViewDelegate

🌱 UICollectionViewDelegate - 사용자와 CollectionView의 아이템 사이의 상호작용을 관리해주기 위한 객체들에 의해 채택된 방식 - 이 프로토콜의 메소드들은 모두 Optional! 이 프로토콜을 통해 CollectionView의 Cell 클릭시 일어날 이벤트를 설정할 수 있다. 실습 해볼 내용 - HomeViewController의 CollectionViewCell 클릭 시, PlayerViewController를 가져와서 HomeView 에서 PlayerView로 전환시켜보겠다 extension HomeViewController: UICollectionViewDelegate { // 클릭했을때 어떻게 할까? func collectionView(_ collectionView:..

iOS 2022.09.15

[iOS : Toy Project] Diffable DataSource, Compositional Layout을 이용해 프로젝트 개선하기

기존 Apple Framework List https://yexjinitlog.tistory.com/98?category=1022295 diffable datasource dataSource = UICollectionViewDiffableDataSource(collectionView: collectionView, cellProvider: { collectionView, indexPath, item in guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "FrameworkCell", for: indexPath) as? FrameworkCell else { return nil } cell.configure(item) // ite..

iOS/Toy project 2022.06.04

[iOS] Diffable DataSource, SnapShot, Compositional Layout

1️⃣ UICollectionView의 Data, Presentation 이슈 - 기존 UICollectionView의 구현방법을 살펴보면, Controller가 데이터를 받아와서 UI에게 변경을 알린다. - 여기서, Controller와 UI가 가지고 있는 데이터가 서로 다른 이슈가 생길 수 있다. → 앱에서는 어느 데이터가 맞는건지 확인하기 어려움 Single Source Of Truth Data의 필요성 증가 - 이 이슈의 근본적인 문제 해결 방식은 참인 데이터를 하나만 두도록 하는 것이다. → Single Source Of Truth - 그래서 제안된 방법 Diffable DataSource Diffable DataSource ? Diffable DataSource는 Data Source와 달리,..

iOS 2022.06.04

[iOS : Toy Project] NRC Onboarding

📌 일곱번째 프로젝트 NRC Onboarding 앱을 만들어보자 1️⃣ Data 확인 및 SearchViewController 만들기 - 이전 프로젝트들과 마찬가지로 패캠에서 제공해준 데이터들을 사용 - "OnboardingViewController" 이름의 UIViewController을 만들어서, Main storyboard와 연결까지 완료 2️⃣ 배경이미지 넣기 - 배경 이미지는 Assest에 있음 3️⃣ StackView를 이용하여 하단에 버튼 넣기 4️⃣ Page Control + Collection View - View에 수평방향 맞게하고, StackView와의 vertical 거리는 40으로! 5️⃣ UICollectionViewCell 만들기 - "OnboardingCell" 이라는 이름으..

iOS/Toy project 2022.05.31

[iOS] UICollectionView와 UIScrollView 사이의 관계

CollectionView는 상하 혹은 좌우로 Scroll이 가능하다..! 사실 UICollectionView는 UIScrollView의 속성을 가지고 있다. CollectionView에서 Scroll되는 상황을 파악하고 싶다면 UIScrollViewDelegate에서 파악이 가능하다! 코드는 이전에 진행했던 토이플젝에서 가져왔다. extension OnboardingViewController: UIScrollViewDelegate { func scrollViewDidScroll(_ scrollView: UIScrollView) { print(scrollView.contentOffset) } } 이처럼 contentOffset을 사용하면 스크롤이 되는 동안 얼마나 움직이게 되는지 알 수 있다. 스크롤되며..

iOS 2022.05.30

[iOS : Toy Project] Insta Search View (2)

📌 여섯번째 프로젝트 (2) Insta Search View 앱의 홈 탭을 꾸며보자! 1️⃣ Component AutoLayout 2️⃣ "NewsViewController" 이름의 UIViewController 만들기 // NewsViewController.swift import UIKit class NewsViewController: UIViewController { @IBOutlet weak var collectionView: UICollectionView! override func viewDidLoad() { super.viewDidLoad() collectionView.dataSource = self collectionView.delegate = self if let flowlayout = co..

iOS/Toy project 2022.05.29

[iOS : Toy Project] Apple Framework List (2)

📌 다섯번째 프로젝트 (2) Apple Framework List 앱을 더 만져보자! 1️⃣ 각 Framework Cell 들이 클릭되었을 때 효과 - UICollectionViewDelegate 의 didSelectItemAt 메소드 : Item을 선택했을 때 호출되는 method // item이 선택되었을 때 효과 넣기 extension FrameworkListViewController: UICollectionViewDelegate{ // item이 선택되었을 때 호출되는 method func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { let framework = list[index..

iOS/Toy project 2022.05.28

[iOS : Toy Project] Apple Framework List (1)

📌 다섯번째 프로젝트 (1) Apple Framework List 앱을 만들어보자 1️⃣ Data 확인 및 FrameworkViewController 만들기 - 이전 프로젝트들과 마찬가지로 패캠에서 제공해준 데이터들을 사용 - "FrameworkViewController" 이름의 UIViewController을 만들어서, Main storyboard와 연결까지 완료 2️⃣ Auto Layout 3️⃣ UICollectionViewCell 만들기 // // FrameworkCell.swift // AppleFrameWork // // Created by 오예진 on 2022/05/27. // import UIKit class FrameworkCell: UICollectionViewCell { @IBOutl..

iOS/Toy project 2022.05.28

[iOS: Toy Project] Chat List

📌 네번째 프로젝트 채팅 리스트 앱을 만들어보자 1️⃣ Data 확인 및 ChatListViewController 만들기 2️⃣ Auto Layout 3️⃣ UICollectionViewCell 만들기 // ChatListCollectionViewCell.swift import UIKit class ChatListCollectionViewCell: UICollectionViewCell { @IBOutlet weak var thumbnail: UIImageView! @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var chatLabel: UILabel! @IBOutlet weak var dateLabel: UILabel! // Chat.swift 파일에 있..

iOS/Toy project 2022.05.23

[iOS] UICollectionView 개요

UICollectionView? iOS에서 리스트 및 그리드를 그리는데 사용되는 UIKit으로 UITableView 보다 커스텀이 쉽다 즉, 여러 데이터를 직접 커스텀한 컬럼 혹은 레이아웃으로 나타낼 수 있다. 예를 들면, 갤러리나 인스타그램 Search 탭을 누르면 나오는 그리드 화면! ➰UITableView? 여러 데이터를 싱글 컬럼으로 나열해서 보여주는 뷰! UICollectionView를 표현하는데 필요한 3가지 1. Data : 어떤 데이터를 쓸지? 2. Presentation : 셀을 어떻게 표현할 지? 3. Layout : 셀들의 레이아웃을 어떻게 할 지? ➰ UICollectionView를 이용한 토이프로젝트 https://yexjinitlog.tistory.com/96 [iOS : Toy..

iOS 2022.05.19