program tip

두보기 사이에 내보기를 중앙에 배치하는 iOS 자동 레이아웃

radiobox 2020. 11. 14. 10:05
반응형

두보기 사이에 내보기를 중앙에 배치하는 iOS 자동 레이아웃


Interface Builder에서 자동 레이아웃을 설정하여 이미지에 표시된대로 뷰를 세로로 정렬하는 방법 :

계획

Top view화면 상단 가장자리에 Bottom view고정되고 화면 하단 가장자리에 고정됩니다. My view상단 뷰와 하단 뷰 사이의 중앙에 있어야합니다 (따라서 거리는 거리 Top view와 같음 Bottom view).


이렇게하는 방법은 보이는 뷰 사이에 보이지 않는 2 개의 "스페이서"뷰를 갖는 것입니다.

공간의 높이를 같게 만들 수 없습니다. 그러나 "스페이서"뷰를 사용하고 뷰 사이에 배치합니다 (주변 뷰와의 간격이 0 임).

그럼 당신은 이러한 뷰는 높이와 동일하고이 중심을 주위에 당신의 의견을 밀어 버린다 제공 My View받는 동일한 간격으로 Bottom ViewTop View.

즉 이렇게 ...

V:|[Top View][spacer1][My View][spacer2(==spacer1)][Bottom View]|

편집-다른 방법

나는 이것을하는 다른 방법을 생각했다. 당신은 눈에 보이지 않는 용기 가질 수 UIView사이 Top ViewBottom View틈새가 함께합니다.

그런 다음 My View이 보이지 않는 뷰 안에 배치 하고 수직으로 중앙에 배치합니다.


또 다른 해결책은 top viewbotom view 사이에 보이지 않는보기를 추가 하고이보기의 중앙에 내보기배치하는 것입니다 .

중앙 UIView


(5 년 후) 가장 표준적인 해결책을 찾았습니다.

UILayoutGuide 이러한 종류의 작업을 해결하기 위해 특별히 도입되었습니다 (iOS 9 이후).

사용은 당신이 사용자 인터페이스에 간보기의 공백이나 캡슐화를 표현하기 위해 생성 한 더미 뷰를 대체하는 가이드 레이아웃 - 참조 워드 프로세서

코드에서는 잘 작동하지만 안타깝게도 Interface Builder는 사용자 정의 레이아웃 가이드를 지원하지 않습니다.


이 비디오는 인터페이스 빌더의 자동 레이아웃 및 제약 조건에 대한 놀라운 개요를 제공합니다. https://www.youtube.com/watch?v=1j-Frd5snYc

참고 URL : https://stackoverflow.com/questions/21024759/ios-autolayout-to-center-my-view-between-two-views

반응형