본문 바로가기

개발/iOS30

[iOS] UITableViewCell에 유동적인 행 높이 지정하기 (동적으로 높이 조정하기) 테이블뷰를 구성할 때, 베이스로 하나의 셀을 사용하지만 들어가는 컨텐츠에 따라 크기를 다르게 조정해주고 싶은 경우가 있습니다. 대표적인 예시로 각각 다른 이미지나 텍스트가 들어가는 경우가 있겠네요. 1. Cell Constraints 맞추기 조정될 셀 안에 들어갈 아이템들이 밀리지 않도록 고정시켜 주는 작업입니다. 화면이나 코드를 이용해, 상•하단으로 잡아줍니다. 2. AutomaticDimension 설정 tableView.rowHeight = UITableView.automaticDimension 동적 높이가 설정되는 것을 tableView에 알려, 목록이 모두 만들어진 후 레이아웃을 계산한 다음 셀의 높이값을 재설정 하겠다는 의미의 코드입니다. viewDidLoad에 넣어줍니다. 그럼 짠 ! - 참.. 2022. 2. 12.
[iOS/Swift] Closure에 대해 알아보자 아래 글들을 참고하며 정리했습니다 - Closures - Dive in Closure 들어가며 클로저란 이른바 이름 없는 함수, “익명 함수"로 불리는 코드블럭입니다. 이번 게시글에서는 iOS 개발을 하며 정~말정말 많이 사용했던 문법인 클로저에 대해 탐구해보는 시간을 가지겠습니다 🤓 Swift 문법에서의 클로저 기본 형식은 아래와 같습니다. {(parameters) -> ReperenceType in // ✅ in ➜ 반환 타입과 바디를 분리 body } 함수와 비슷해보이죠? 하지만 함수는 func 키워드를 앞에 반드시 붙여줘야 하고, 이름도 가지고 있고, 저기 보이는 in 키워드도 없으므로 비슷하지만 다릅니다. (클로저가 조금 더 포괄적) 함수와 구별되는 클로저의 특징을 더 살펴보도록 하겠습니다. 1.. 2022. 2. 8.
[iOS] GCD에 대해 알아보자 아래와 이어지는 게시글입니다 비동기 프로그래밍 방식에 대해 알아보자 아래 글들을 참고했습니다 Grand Central Dispatch / Dispatch / Concurrency Programming Guide / 차근차근 시작하는 GCD 1~4 들어가며 처음에는 Operation Queue부터 쓰려고 했는데, 공부하다보니 GCD를 먼저 적고 합쳐서 올리는 게 나을 것 같아서 방향을 바꾸었습니다 ! Review 우선 동시성 프로그래밍을 복습해 보겠습니다... 동시성 프로그래밍이란? "메인 스레드에 몰려 있는 작업들을 다른 스레드에서도 동시에 작업하도록 하는 것" 즉 메인 스레드가 처리해야 할 것들을 다른 스레드에 나눠 주어, 적절하게 일을 분배시켜 동작하도록 하는 것을 말합니다. 여기서 작업을 보내는 곳.. 2022. 2. 4.