본문 바로가기
FRONT-END/iOS

iOS 화면 시스템 (프레임 vs 오토레이아웃)

by 랄라J 2023. 8. 10.

iOS는 프레임 방식에서 오토레이아웃 방식으로 발전되었고, 2가지 시스템이 공존한다.

 

프레임(frame)

  • 상위 뷰를 기준으로 위치(position), 크기(size), 원점을 origin으로 표기
  • 고정 (화면 왼쪽 상단 or 상위 뷰 기준)
  • 여러 크기의 화면 대응 불가 (가능하나 불편 - 화면 크기를 불러와서 비율로 재계산)
  • 타입: CGRect = CGPoint + CGSize

 

오토레이아웃(제약 - constraints)

  • 제약조건을 활용해 정렬(Alignment), 고정(Pinning), anchor
  • 상대적 / 동적
  • 여러 크기의 화면 대응이 쉬움
  • NSLayoutConstraint

 

현재는 오토레이아웃 결과(화면 크기별로) 프레임으로 다 계산되어 화면에 표시되고 있는 것이다.

 

또한, 화면 상단과 화면 전환을 위한 곳을 제외한 영역을 safe area라고 한다.

view.safeAreaLayoutGuider.leadingAnchor
view.leadingAnchor
728x90

댓글