⚠️ 문제: 인스턴스 생성 시 오류 발생

그림의 카테고리 선택 부분을 구현하기 위해 커스텀 UISegmentedControl 클래스를 정의했습니다.
class CategorySegmentedControl: UISegmentedControl {
override init(frame: CGRect) {
super.init(frame: frame)
setSegments()
...
}
func setSegments() { ... }
}
그러나 MainView에서 CategorySegmentedControl 인스턴스를 생성하여 사용하려니 오류가 발생하였습니다.

❗️ 원인: 이니셜라이저의 매개변수가 없음
지금까지는 만들어 본 커스텀 컴포넌트들은 모두 UIView를 상속하고 있는 클래스들이었습니다.
(UIView, UIStackView 등)
UIView의 경우, 이니셜라이저의 매개변수인 frame에 아무것도 넘겨주지 않으면 기본적으로 .zero로 초기화된다고 합니다.
그러나 UISegmentedControl의 경우, UIView를 상속하고 있지 않기 때문에 직접 .zero를 아규먼트로 전달해야 합니다.
✅ 해결: 이니셜라이저에 매개변수 전달
let categorySegment = CategorySegmentedControl(frame: .zero)
아규먼트를 전달해주니 문제없이 동작하였습니다.
'내일배움캠프 > Kiosk - Gacha!' 카테고리의 다른 글
| [트러블 슈팅] UICollectionView FooterView의 UIPageControl currentPage 변경 (0) | 2026.02.16 |
|---|---|
| [트러블 슈팅] UISegmentedControl 배경 색상 설정하기 (0) | 2026.02.10 |
| [프로젝트 소개] Kiosk 앱 만들기 - Gacha! (0) | 2026.02.10 |