Swift

Swift - UIScrollView 기초

iosos 2023. 6. 28. 18:10

* 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의 넓이를 맞춤