2012-06-30 3 views
5

때때로 autolayout 제약 조건이 잘못된 앵커 포인트에 스냅됩니다. 컨트롤이 위에있는 컨트롤에 고정되고 autolayout 제약 조건이 창 아래쪽에 고정되도록하려는 경우가 있습니다. 제약 조건을 이동하는 방법이 있습니까? 아스키 아트는 이것을 더 분명하게해야합니다. 이것은 내가 무엇을 가지고 :Interface Builder에서 자동 레이아웃 제약 조건을 이동할 수 있습니까?

+------------------------+ 
|      | 
| [x] Some checkbox  | 
|      | 
| [x] Another checkbox | 
|  |     | 
|  | ← autolayout  | 
|  | constraint  | 
|  |     | 
+-----+------------------+ 

그리고 이것은 내가 대신 원하는 것입니다 :

+------------------------+ 
|      | 
| [x] Some checkbox  | 
|  | ← A.C.   | 
| [x] Another checkbox | 
|      | 
|      | 
|      | 
|      | 
+------------------------+ 

내가 위로 아래 체크 박스를 이동하여 상단 체크 박스에 제약을 고정 할 수 있습니다,하지만 그건 내가 원하는 게 아니에요 , 나는 수직 공간을 더 크게하고 싶다. (이 체크 박스는 일러스트레이션을위한 것일 뿐이므로 실제 사용 사례에는 다른 견해가 있습니다.)

답변

7
  1. 선택이 체크 박스
  2. 선택 수직 간격

    enter image description here


에게 인터페이스 빌더의 오른쪽 하단에있는 "H"아이콘을 이제 클릭 쓸모없는 제약 조건을 선택하고 그것을 삭제하십시오 :

enter image description here

+0

+1 방금 광기에서 나를 구해 줬습니다. 나는 지난 2 시간 동안 Mac에서 Learn Cocoa라는 책의 레이아웃으로 고심하고 있었고, 나는 그걸 더 악화 시켰습니다. 바로 여기가 내 문제를 해결하는 데 필요한 것입니다. – MetalMikester

1

아래쪽 확인란을 위의 확인란과 사이에 놓으십시오. 그런 다음 스트럿을 클릭하고 오른쪽 패널에서 속성 상자를 클릭하십시오. "표준"상자의 선택을 취소하고 원하는 간격으로 설정할 수 있어야합니다.

1

아니요, 제약 조건을 이동하거나 다른보기에 상대적으로 변경할 수 없습니다. 데이비드 추 (David Chu)가 말했듯이, 자동으로 원하는 제약 조건을 얻을 때까지 뷰를 이동 한 다음 제약 조건의 값을 변경하여 원하는 위치로 뷰를 되돌릴 수 있습니다. 그러나 원하는 제약 조건을 수동으로 생성 한 다음 필요하지 않은 자동 제약 조건을 삭제할 수도 있습니다 (때로는 약간의 어려움이 있음).

두 개의 확인란을 선택한 다음 편집기> 핀> 수직 간격 메뉴를 사용하여 원하는 제약 조건을 추가하거나 (또는 ​​IB 레이아웃보기의 오른쪽 하단에있는 3 개의 버튼 중간을 사용하여) 다음을 수행하십시오. 같은 메뉴를 얻는다). 이 시점에서 원하지 않는 자동 제한 조건이 중복되고 자주색에서 파란색으로 전환되어야합니다. 그런 다음 선택한 다음 삭제할 수 있습니다. 각 종류의 구속 조건은 해당 핀 및 정렬 메뉴의 항목을 사용하여 만들 수 있습니다.

Xcode가 추가하는 자동 제한 조건과의 싸움과 때때로 자주색에서 파란색으로 바뀌지 않는 퍼즐을 찾는 경우가 있지만 원하는 제약 조건을 얻는 것이 항상 가능하다는 것을 알았습니다. 예를 들어 몇 가지 맞춤 제약 조건을 추가 한 후보기를 직접 이동하면 Xcode에서 자동으로 추가 한 제약 조건 대부분을 삭제했을 가능성이 있습니다. 움직이는! 행운을 빕니다.

관련 문제