UILabels, UIImages 등이 들어있는 사용자 정의 모달 뷰를 생성하고 모달 뷰로 나타납니다. 보기는 자동 레이아웃을 사용해야하며 프로그래밍 방식으로 수행해야하며 스토리 보드/xibs를 사용하지 않아야합니다 (불행히도).iOS Autolayout 비주얼 형식 - 간격을 설정하여 한 값을 시도하지만 작은 화면을 위해 다른 값으로 되돌리려면 어떻게 설정합니까?
모달보기는 화면의 가장자리 (위, 아래, 왼쪽, 오른쪽)에서 8 포인트가 될 때까지 내용과 함께 커집니다.
자식보기 간의 여백은 16 및 24 포인트입니다. 최신 iPhones 및 세로 모드에서는 위대하며 화면과 모달보기 사이에 충분한 공간을 남깁니다. 그러나 가로로 회전하면 모달 뷰가 위쪽/아래쪽 모서리에서 8pt 제한에 도달하고 많은 자식 뷰가 완전히 축소됩니다.
이 수정 프로그램은 하위 뷰 사이의 모든 "여백"을 8 포인트로 변경합니다. 이렇게하면 모든 것을 보여줄 수 있습니다.
내 목표는보기가 이미 높은 값 (예 : 16, 24)을 "시도"하지만 더 작은 값 (예 : 8)으로 "되돌아 갈"수 있도록 동적으로 여백을 조정할 수있게하는 것입니다. 화면을 채 웁니다.
하나의 방법은 여러 개의 제약 조건을 사용하는 것입니다. 방향이 변경되면이를 토글하는 것이지만 가능한 경우 해당 경로로 이동하고 싶지는 않습니다. 변경 사항이있을 때 시간이 지남에 따라 관리하기가 어려울 수 있습니다. 만든.
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-([email protected],[email protected])-[titleLabel]-[detailsLabel]-([email protected],[email protected])-[button(40)]-([email protected],[email protected])-|", options: [.AlignAllCenterX], metrics: metrics, views: views))
그러나이 항상 다시 '8 @ 900'값 많음이 경우에도 해당 될 다시이 사용 우선 순위 값과 같은 일을 할 수 있다고 그 동안
나는 하나의 재미있는 이야기 a를 발견했다 시야가 넓어 질 여지가 있습니다.또한 아이 뷰의 일부에 대해 올바르게 작동하는 것 같다있는이 시도하지만, 그들 모두 없습니다 : 그것은 8로 다시 떨어지는되지
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-(>=8,<=24)-[titleLabel]-[detailsLabel]-(>=8,<=24)-[button(40)]-(>=8,<=24)-|", options: [.AlignAllCenterX], metrics: metrics, views: views))
(> = 8,24 @ 999) 모든 문제에 대해 해결했습니다. 어떤 숨겨진 견해도 필요없이 완벽하게 작동합니다. 감사!! – JimmyJammed