
Auto Layout을 사용하여 뷰의 크기를 조정할 때, 뷰의 높이를 구할 때 발생하는 오류는 뷰의 레이아웃이 아직 계산되지 않은 상태에서 getHeight를 호출하는 것 때문입니다.
뷰의 레이아웃을 계산하기 위해서는 `view.layoutIfNeeded()`를 호출해야 합니다. 이 메서드는 뷰의 레이아웃을 계산하고, 레이아웃이 변경된 경우에 뷰의 레이아웃을 다시 계산합니다.
다음은 수정된 코드 예시입니다.
#hostingforum.kr
swift
view.layoutIfNeeded()
let height = view.bounds.height
print("bounds.height: (height)")
또한, `view.bounds.height`를 사용하는 대신 `view.frame.size.height`를 사용하는 것을 고려할 수 있습니다. `view.frame.size.height`는 뷰의 실제 높이를 나타내며, 레이아웃이 계산되지 않은 상태에서도 올바른 값을 반환합니다.
#hostingforum.kr
swift
let height = view.frame.size.height
print("frame.height: (height)")
이러한 방법을 사용하면 뷰의 레이아웃이 계산되지 않은 상태에서도 뷰의 높이를 올바르게 구할 수 있습니다.
2025-03-15 01:15