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


112

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

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

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

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

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


왼쪽에있는 문서 개요의 올바른 엔티티로 끌어서 놓을 수 있습니까? -이 스크린 샷의 장면 개체 : ptgmedia.pearsoncmg.com/images/chap5_9780672335761/elementLinks/…
Woodstock

나는
그것도

답변:


306

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

여기에 이미지 설명 입력


6
할렐루야! 에디터-> 핀 메뉴를 제거했을 때 무엇을해야할지 몰랐습니다.
Jeremy Hicks

4
내가 전에 그것을 보지 못했다는 것을 믿을 수 없습니다. 대박.
zumzum

9
저처럼 단서가없는 사람들을위한 참고 사항입니다 .--> 제약 조건을 추가하는보기가 상단 레이아웃 가이드 아래에 있지 않으면이 변경을 수행 할 수 없습니다. 상단 레이아웃 가이드 위에보기가 있었는데 "Top Layout Guide"는 드롭 다운 메뉴의 옵션이 아니 었습니다. 어떤 아마도 : 나 같은 비 newbs에 대해 "대만족"문이다
라이언 제임스

2
그 작은 Xcode 미묘함에 관한 것입니다. 그렇게 많이합니다. :)
Marchy 2015

나를 혼란스럽게하는 간단한 설명 : Top Layout Guide가 선택된 이미지에도 불구하고 장치의 맨 위처럼보기의 맨 위에보기를 고정하려면 "보기"를 선택하십시오.
micnguyen

57

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


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


매력처럼 작동
-XCode

4
Xcode 7의 편집기 메뉴에서 '핀'을 제거했습니다. 새로운 솔루션이 있습니까?
Kyle G

14

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


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

여기에 이미지 설명 입력

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

여기에 이미지 설명 입력

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

여기에 이미지 설명 입력


매우 유용한 팁. 이것은 실제로 내 문제를 해결했습니다.
Machado

그것은 나를 위해 작동하지만 동시에 여러 제약 조건을 추가하는 방법을 모릅니다. 이제 시간을 내기 위해 하나씩 추가해야합니다.
Duc Nguyen

3

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

여백에 상대적인 선택


이것이 내가 여기 왔을 때 찾던 것이었다! 감사합니다
netigger 2016 년

1

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

여기에 이미지 설명 입력

여기에 이미지 설명 입력


0

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


0

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

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

이제 가셔도 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.