[ios] Autolayout : Top Layout Guide가 아닌 superview에 제약을 추가 하시겠습니까?

스토리 보드의 UIViewController에 UIView가 있으며 상단 가장자리에서 거리를 보는 공간에 제약 조건을 추가하고 싶습니다.

이제 Ctrl + ViewController의 메인 뷰로 드래그하여 평소처럼 할 때 상단 레이아웃 가이드로 설정하는 옵션 만 얻습니다.

이것은 앱의 한 지점에서 메인 뷰를 20-50px 정도 위로 이동할 것이기 때문에 문제입니다. 그러면 제가 가지고있는 뷰가 이동하지 않을 것입니다. 수퍼 뷰에 정렬되지 않았기 때문입니다.

스토리 보드에서이 작업을 수동으로 수행하려면 어떻게해야합니까? 아니면 프로그래밍 방식으로 추가해야합니까?

xcode 6을 사용하고 있습니다.



답변

제약 상수 값 오른쪽에 화살표가 있습니다. 이를 클릭하면 제약 조건을 지정할 대상을 선택할 수있는 메뉴가 나타납니다. ‘보기’를 선택하면보기 상단에 고정됩니다.

여기에 이미지 설명 입력


답변

스토리 보드에서 원하는보기를 강조 표시 한 다음 Editor > Pin > Top Space to Superview상단 메뉴에서 선택 하여 수행 할 수 있습니다.


이것은 XCode 7에서 구식입니다. 대신 @PaulGurov의 답변을 참조하십시오.


답변

요약 : Alt키보드 의 키를 눌러 여백을 제한 할 수 있습니다 .


고정하려는 뷰가 고정하려는 뷰의 직접 하위 뷰가 아닌 경우 제안 된 접근 방식이 실제로 유효하지 않다고 추가 할 수도 있습니다. 뷰 계층 구조가 이와 같고 이미지 뷰 ( Parallax Image View이 경우)를 뷰 컨트롤러의 뷰 ( View이 경우) 에 고정하려고한다고 가정 해 보겠습니다 .

여기에 이미지 설명 입력

이렇게하려면 당신은 그냥 Control+ Drag로부터 Parallax Image View받는 View. 그러면 상단 레이아웃 가이드 Vertical Spacing to Top Layout Guide에 고정 할 수있는 기본 선택 사항이 표시 됩니다 Parallax Image View.

여기에 이미지 설명 입력

원하는 것은보기의 상단 (여백)에 고정하는 것입니다. 이를 위해서는 다음을 눌러 다른 제약 조건 세트로 전환해야합니다.Alt

여기에 이미지 설명 입력


답변

나는 이미 거기에 많은 제약이 있었고 그것들을 깨뜨리기보다는 변경하고 싶었습니다. 편집 할 제약 조건을 두 번 클릭 한 다음 “.Margin”이있는 항목을 클릭하면 해당 항목을 선택하여 “Relative to Margin”을 끌 수 있습니다.

여백에 상대적인 선택


답변

Dan의 대답이 작동합니다. StoryBoard에서 y <20으로 뷰를 설정하고 핀 패널을 통해 제약 조건을 구성하면 상위 뷰로 설정된다는 것을 말씀 드리고 싶었습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력


답변

뷰의 높이가 실수로 0으로 설정되면 수직 공간에서 상단 레이아웃 가이드까지 나타나지 않습니다. 그러나 수직 공간에서 하단 레이아웃 가이드가 나타날 것입니다. 이는 2004 년경 Apple 내부의 누군가에게 이해가되었을 것입니다.


답변

위의 답변 중 어느 것도 나를 위해 일하지 않았습니다. 대신 Top 레이아웃 가이드 대신 superview의 상단으로 하위보기의 상단을 설정하는 해킹을해야합니다.

  • 먼저, 수퍼 뷰로 서브 뷰 중앙을 수직으로 설정합니다.
  • 그런 다음 subview 및 superview에 대한 Center Y 제약 조건을 Top 제약 조건으로 변경합니다.

이제 가셔도 좋습니다.