2014-09-06 3 views
43

하위 뷰를 루트 ViewController의 뷰에 추가하고 자동 레이아웃 설정 leadingSpace, trailingSpace, topSpace 및 bottomSpace를 0으로 추가하면 왼쪽과 오른쪽에 몇 가지 여분의 공백이 표시됩니다. 오른쪽면 (그래서 내가 subview의 프레임을 인쇄하는 경우 원점은 16이고 크기는 32보다 작아야한다). 제로하지만 origin.x = 16xCode 6 베타 7 : 스토리 보드가 오른쪽과 왼쪽에 여분의 공간을 추가합니다.

초 전 '년후 - 그래서 실제로 우리는

enter image description here

당신이 사진을 선도하는 공간에서 볼 수 있듯이 ... 선행 및 후행 공백 제로 아니라는 것을 얻을 t 자동 레이아웃으로 열심히 일하므로 제 질문은 입니다. 새로운 xCode 또는 기능의 버그입니까?

P. 모든 프레임과 제약 조건이 업데이트되었습니다.

답변

119

iOS 8은 “content margins”의 개념을 UIView에 추가합니다. “What's New in Cocoa Touch” video from WWDC 2014은 약 12m30 초에 시작하는 콘텐츠 마진 (제목 "적응 여백"으로)에 대해 설명합니다.

기본 여백은 양쪽에 8 포인트입니다. 레이아웃 제약 조건의 각 끝은보기의 실제 가장자리가 아닌보기의 여백에 상대적이 될 수 있습니다 (가능성을보기 위해 파일> 열기를 사용하여 NSLayoutAttribute의 정의로 이동하십시오).

제한 조건은 "여백 기준"입니다. 당신은 "새로운 제약 조건을 추가"팝 오버와 제약 조건을 만들 때, 당신은 마진 기준 또는하지의 여부를 선택할 수 있습니다 마진 상대 항상

constraint-popover

그것을 기본값을; 제약 조건을 추가 할 때마다 마진을 기준으로하지 않으려면 확인란을 선택 해제해야합니다.

화면 캡처의 빠른 편집 팝업에서 제한이 여백 기준인지 여부를 변경할 수 없습니다. 대신 제약 조건을 두 번 클릭하여 전체 속성 관리자를 불러 오십시오. 여기에서 팝업 메뉴를 사용하여 제약 조건의 각 끝 부분에 대해 여백에 상관없이 여백 기준인지 여부를 선택할 수 있습니다.

관련 문제