티스토리 뷰

아래는 스크롤뷰의 컨텐츠를 프로그램에서 추가 삭제 할때 레이아웃이 망가지지 않게 하는 방법에 대해서 알아본다.

모든 화면구성 할때 가장 기본이 되는 뷰가 아닌가 싶다.

각 뷰에 어떤 Constrain을 추가하는지 순서대로 따라한다.

먼저 View의 구조에 대해서 보면
1. Main view
2. Scroll view
3. Content view
4. Stack view

1. Main view
 최상의 뷰에는 벼로 설정 할 것이 없음으로 그냥 건너뛴다.
다만 취 상위뷰에 Scroll view 하나를 추가한다.

2. Scroll view


Scroll view 는 상,하,좌,우 constrain을 슈퍼뷰와 연관을 가지도록 추가 한다..

3. Content view
Content view 의 상,하,좌,우 constrain을 자신의 부모뷰인 Scroll view와 연관을 가지도록 추가한다.
빨간색으로 에러가 뜨는데 무시하자. 아직은 width를 계산할수 없기 때문에 그런것이다. 만약 가로로 꽉 찬 화면을 원한다면 Content view 의 width를 부모뷰와 동일하게 설정하게 해도 된다.



4. Stack view
Stack view 의 상,하,좌,우 constrain을 자신의 부모뷰인 Content view와 연관을 가지도록 추가한다.


위의 설정들이 끝났으면, 이제는 Stackview(세로정렬)뷰에 자신이 원하는 뷰를 추가하면 되는데, 프로그램에서 동적으로 뷰를 감추거나 삭제해도 레이아웃은 망가지지 않게 된다. 뷰들이 추가되여 Stackview의 길이가 화면길이를 초과 하게 되면 스크롤이 생기게 된다.
가장 중요한건, 외부에서 width에 대한 설정을 해 주지 않았음으로 스택뷰에 추가되는 뷰는 반드시 width를 명시적으로 설정 하여야 하며, 또한 height 도 반드시 명시 하여야 한다. 스택뷰에는 커스텀 뷰도 추가 할 수 있으며, Item들을 표시해주는 테이블 뷰를 직접 구현 할 수도 있다.



'IOS' 카테고리의 다른 글

IOS 스레드 제어  (0) 2018.08.28
PDF 파일 생성 및 저장(UIView를 이용)  (1) 2018.03.29
Property  (0) 2018.03.14
클래스 오브젝트 초기화  (0) 2017.03.29
@Property, @Synthesize, @Dynamic  (0) 2017.03.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함