IOS/AutoLayout

IOS - AutoLayout(StackView) 오토레이아웃 스택뷰 (1)

와구와구! 2020. 11. 15. 22:55

Stack View(스택 뷰)란 무엇일까?? 어디에 어떻게 쓰는걸까??

오토레이아웃을 할때 스택뷰를 이용하면 편하다 유지보수할때 좋다는것을 듣고 알아보았습니다.

 

하나 이상의 뷰를 특정방향으로 연속적으로 배치할때 사용합니다.

뷰를 새로 추가/삭제 할때도 Constraints을 제거하고 추가하는 번거로움을 줄여줍니다.

 

스택뷰를 정의하는 여러 속성들이 있습니다.

axis : 가로와 세로 (Horizontally, Vertically)  스택뷰의 종류가 가로스택뷰와 세로스택뷰 2가지가 있다.

 

spacing : 안에 들어있는 요소(뷰)들의 간격 사이

 

distribution : 스택뷰안에 들어가는 요소(뷰)들의 사이즈를 어떻게 분배할지 설정하는 속성

  • fill

  • fillEqually

  • fillProportionally

  • equalSpacing

  • equalCentering


UIStackView.Distribution.fill

UIStackView.Distribution.fill

안에 내부의 요소(뷰)를 늘려서 다채웁니다. 

어떤게 어떤만큼 늘어놔야될지는 고정 우선순위 허깅 프리오리티 (hugging priority)에 따라 뷰를 확장합니다.


UIStackView.Distribution.fillEqually

UIStackView.Distribution.fillEqually

요소(뷰)들이 전부 같은 사이즈로 길이로 설정이됩니다.


UIStackView.Distribution.fillProportionally

UIStackView.Distribution.fillProportionally

자신의 사이즈의 비율대로 채워집니다


UIStackView.Distribution.equalSpacing

UIStackView.Distribution.equalSpacing

Fill 과 비슷하지만 Spacing (<-->) 사이 공간만큼 동일하게 해주는것입니다. 


UIStackView.Distribution.equalCentering

UIStackView.Distribution.equalCentering

각자 뷰들의 가상의 중앙의 (점선) 사이 간격 거리가 똑같다는것 입니다. 

 


 

참고 : developer.apple.com/documentation/uikit/uistackview/distribution

반응형