[ios] Interface Builder의 “너비가 높이와 같음”제약 조건

Interface Builder에서 ‘너비가 높이와 같음’을 의미하는 ‘정사각형’제약 조건을 만드는 방법을 찾을 수 없습니다. 이러한 제약 조건을 프로그래밍 방식으로 추가하는 것이 가능하다고 생각합니다. IB에서 할 수있는 일이 있습니까? 어쩌면 나는 그것을 보지 못합니까? 사소한 것 같지만 찾을 수 없습니다.



답변

Xcode 5.1b5 업데이트

너비가 높이와 같음

뷰에서 Ctrl + 클릭하고 끌어서 포인터가 뷰 위에있는 동안 놓습니다. “Aspect Ratio”를 선택합니다. 첫 번째 및 두 번째 항목이보기 인 제약 조건을 생성합니다.


Xcode 5.1 이전

너비 / 높이 편집기에 다른 속성과 관련되거나 비율을 설정할 필드가 없기 때문에 불가능합니다.

폭 제약

따라서 Interface Builder에서 다음 코드를 표현할 수 없습니다.

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];


답변

이미지에서와 같이 UI 요소에 새로운 제약 조건, 가로 세로 비율을 1 : 1로 추가하십시오.

가로 세로 비율을 1 : 1로 설정


답변

시작하려면 버튼에서 자체로 대각선으로 드래그를 제어합니다. 너비 및 높이 제한을 추가 할 수있는 상황 별 메뉴가 나타납니다. 각각을 Shift + 클릭합니다. 제약 조건을 추가했음을 나타내는 확인 표시가 나타납니다. (둘 다 추가하기 전에 실수로 대화 상자를 닫은 경우에는 괜찮습니다. 드래그 단계를 반복하고 다른 단계를 설정하면됩니다) :

여기에 이미지 설명 입력

처음 추가 할 때 이러한 제약 조건은 버튼의 현재 너비와 높이를 사용하므로보다 적절한 값을 제공하기 위해 각 제약 조건을 조정해야합니다. 이미지가 정사각형이지만 한 번에 하나씩 수행해야하므로 두 제약 조건에서 동일한 상수 값을 사용하여 비례 적으로 버튼 크기를 조정해야합니다. 제약 조건을 두 번 클릭하고 상수 필드에 더 작은 값을 입력합니다.

여기에 이미지 설명 입력


답변