본문 바로가기

IOS18

[iOS] CollectionView의 extension으로 EmptyView 만들기 프로젝트를 진행하며 데이터가 존재하지 않을 때 사용자에게 알려주기 위한 화면을 만들 일이 생겼는데, 이럴 때 사용하는 엠티뷰라는 방법을 새롭게 알게 되어 정리 & 공유하고자 글을 쓰게 되었습니다 ! 엠티뷰란 무엇인가? 셀에 데이터가 없을 경우 알려주기 위해 표시하는 화면입니다. 빈 화면을 사용자에게 그대로 노출시키기 보다는, 설명 라벨이나 이미지•버튼 등을 화면에 넣어 사용자에게 특정한 액션을 유도하도록 하기 위한 화면입니다. 아이디어 컬렉션 뷰와 테이블 뷰는 같은 형태의 데이터를 안에 들어가는 내용만 바꾸어 표시하기 위한 큰 틀인데요, dataSource 부분에서 셀의 개수를 지정해주고, delegate 부분에서 셀을 어떻게 보여줄 것인지에 대해 결정하죠? 들어갈 데이터의 수에 따라 셀의 개수가 결정되.. 2022. 2. 19.
[iOS] loadView() 오류: Could not load NIB in bundle '~ (loaded)' with name '~ViewController' 1. 상황 설명 ✔️ xib 방식으로 구현되어 있던 UI를 Code-based 방식으로 바꿔주는 과정에서 ViewController.xib 파일을 삭제했고, UIView 파일을 새로 만들어 재구현한 다음 기존의 ViewController.swift 파일에서 loadView() 함수를 오버라이딩해서 넣어주었다. import UIKit final class NoticeViewController: BaseViewController { // MARK: - Properties private let emptyView = EmptyView() // MARK: - View Life Cycle override func viewDidLoad() { super.viewDidLoad() } override func viewW.. 2022. 2. 17.
[iOS] UITableViewCell에 유동적인 행 높이 지정하기 (동적으로 높이 조정하기) 테이블뷰를 구성할 때, 베이스로 하나의 셀을 사용하지만 들어가는 컨텐츠에 따라 크기를 다르게 조정해주고 싶은 경우가 있습니다. 대표적인 예시로 각각 다른 이미지나 텍스트가 들어가는 경우가 있겠네요. 1. Cell Constraints 맞추기 조정될 셀 안에 들어갈 아이템들이 밀리지 않도록 고정시켜 주는 작업입니다. 화면이나 코드를 이용해, 상•하단으로 잡아줍니다. 2. AutomaticDimension 설정 tableView.rowHeight = UITableView.automaticDimension 동적 높이가 설정되는 것을 tableView에 알려, 목록이 모두 만들어진 후 레이아웃을 계산한 다음 셀의 높이값을 재설정 하겠다는 의미의 코드입니다. viewDidLoad에 넣어줍니다. 그럼 짠 ! - 참.. 2022. 2. 12.