이 기사는 SwiftUI에서 스크롤 뷰 내 콘텐츠의 수직 정렬을 관리하는 방법, 특히 동적 타입 크기에 적응할 때의 방법을 논의합니다. 처음에는 화면 높이를 초과할 수 있는 콘텐츠를 수용하기 위해 간단한 스크롤 뷰가 사용됩니다. 하지만 이로 인해 콘텐츠가 스크롤 뷰보다 작을 때 콘텐츠가 상단에 정렬되는 바람직하지 않은 결과가 발생합니다. iOS 17에서는 defaultScrollAnchor 수정자가 도입되었지만, 스크롤 뷰 내에 콘텐츠가 들어갈 때만 중앙에 배치하는 섬세함이 부족합니다. iOS 18은 role 매개변수를 포함하는 새로운 defaultScrollAnchor 수정자를 통해 이 문제를 해결합니다. 이 매개변수를 통해 개발자는 .alignment를 사용하여 컨테이너보다 작은 콘텐츠를 정렬하는 것을 포함하여 다양한 상황에 대한 앵커 포인트를 사용자 정의할 수 있습니다. .alignment 역할에 대해 앵커를 .center로 설정하면 콘텐츠가 들어갈 때는 중앙에 배치되고 컨테이너 높이를 초과할 때는 상단에 정렬됩니다. 두 가지 변형의 뷰 수정자를 함께 사용하여 기본값을 변경하고 특정 역할에 대한 앵커를 재정의할 수 있습니다. 새로운 수정자는 컨테이너에 대한 크기에 따라 스크롤 뷰 콘텐츠 정렬을 관리하는 보다 정교한 접근 방식을 제공합니다. 이는 콘텐츠의 수직 위치를 동적으로 조정하여 더 나은 사용자 경험을 보장합니다.
defaultScrollAnchor수정자가 도입되었지만, 스크롤 뷰 내에 콘텐츠가 들어갈 때만 중앙에 배치하는 섬세함이 부족합니다. iOS 18은role매개변수를 포함하는 새로운defaultScrollAnchor수정자를 통해 이 문제를 해결합니다. 이 매개변수를 통해 개발자는.alignment를 사용하여 컨테이너보다 작은 콘텐츠를 정렬하는 것을 포함하여 다양한 상황에 대한 앵커 포인트를 사용자 정의할 수 있습니다..alignment역할에 대해 앵커를.center로 설정하면 콘텐츠가 들어갈 때는 중앙에 배치되고 컨테이너 높이를 초과할 때는 상단에 정렬됩니다. 두 가지 변형의 뷰 수정자를 함께 사용하여 기본값을 변경하고 특정 역할에 대한 앵커를 재정의할 수 있습니다. 새로운 수정자는 컨테이너에 대한 크기에 따라 스크롤 뷰 콘텐츠 정렬을 관리하는 보다 정교한 접근 방식을 제공합니다. 이는 콘텐츠의 수직 위치를 동적으로 조정하여 더 나은 사용자 경험을 보장합니다.