반응형
아래 사진처럼 기기 방향이 세로일 때와 가로일 때의 레이아웃을 다르게 잡고 싶었다.
전에 적용했던 constraint들을 해제하고 새로운 constraint를 먹이면 되는데, 코드를 깔끔하게 처리할 수 있는 방법을 발견해서 정리해보고자 한다. (이어질 내용은 아래 포스팅 내용을 참고한 것임!)
먼저 기기 회전이 이루어지면, ViewController의 viewWillTransition(to: with:)가 호출된다. 이 메소드를 오버라이드해서 기기 방향에 따라 constraint를 변경해주면 된다.
applyConstraints() 메소드에서는,
1. 반대 방향일 때의 constraint들을 deactivate
2. 현재 방향에 적용해야하는 constraint들을 activate 해준다.
각 방향일 때 적용해야하는 constraint들은 배열로 묶어 변수로 선언해둔다.
** 틀린 내용이 있거나, 더 좋은 방법이 있다면 댓글로 알려주세요:)
반응형
'Apple > UIKit' 카테고리의 다른 글
[iOS] 화면 방향 고정되어있을 때 Orientation 변화 감지하기 (0) | 2022.07.23 |
---|---|
[iOS] UIActivityViewController로 이미지 공유 기능 구현하기 (0) | 2022.07.07 |
[iOS] 오토레이아웃 1/N 지점에 위치시키기 (0) | 2022.03.10 |
댓글