* UIScrollView
- 사용자가 스크롤하여 컨텐츠를 수평 또는 수직으로 이동할 수 있는 뷰
- 사용자가 화면에 맞지 않는 크기의 컨텐츠를 스크롤하여 볼 수 있도록 도와줌
1. ScrollView 추가
- Scroll View 추가 후 오토레이아웃을 모두 0으로 설정해도 오토레이아웃이 잡히지 않아 빨간 줄이 그어짐 -> 크기 조절해줌
- 바텀 앵커는 superView.Bottom으로 연결
2. 실제 스크롤링 가능한 뷰 추가
- 스크롤이 가능한 뷰를 추가하고 뷰의 레이아웃을 ScrollView의 Content Layout Guide와 연결
- 뷰의 constant를 모두 0으로 변경
3. View의 Frame Layout Guide 설정
- 수직으로 스크롤하는 뷰면 Equal Width로 설정하고 Height의 크기를 자유롭게 설정
- 수평으로 스크롤하는 뷰면 Equal Height로 설정하고 width의 크기를 자유롭게 설정
- multiplier 를 1로 설정 (배율)
* Content Layout Guide
- UIScrollView 또는 다른 켄터이너 뷰의 켄텐츠 레이아웃 영역을 정의하는 역할
- UIScrollView의 컨텐츠 영역이나 다른 컨테이너 뷰의 내용을 배치하는 데 사용
- 컨텐츠 뷰를 contentLayoutGuide에 대한 제약조건으로 정렬하고 크기를 설정하면 UIScrollView가 스크롤 영역을 자동으로 계산하고 스크롤 할 수 있는 컨텐츠를 제공
* Frame Layout Guide
- UIView의 프레임을 정의하는 역할
- 뷰의 가장자리, 크기 및 여백에 대한 제약 조건을 정의하는 데 사용
- 이를 통해 오토레이아웃을 사용하여 유연하고 동적인 인터페이스를 구성 가능
4. Label 추가
- Label은 폰트 크기가 정해져있어 width와 height 정해져있음. 따라서 뷰의 Height을 지정하지 않아도 됨
- Label 추가 후 constraint를 모두 10으로 지정하면 오토레이아웃이 잡힘
- Lines 를 0으로 주고 긴 문장을 추가하면 스크롤 뷰 완성
+) Constraint의 Trailing Relation을 'Greater Than or Equal' 으로 주면 Label 글자 크기에 따라 Label의 넓이를 맞춤
'Swift' 카테고리의 다른 글
Swift - iOS 앱의 라이프 사이클 (App's Life Cycle) (0) | 2023.06.29 |
---|---|
Swift - Optional(옵셔널) (0) | 2023.06.28 |
Swift - UITableView 기초(1) (0) | 2023.06.27 |
Swift 화면 전환 방식 3. Action Segue 방식 (0) | 2023.06.23 |
Swift 화면 전환 방식 2. 네비게이션 컨트롤러 + 소스(push) (0) | 2023.06.23 |