2013-03-01 8 views
73

인터페이스 빌더에서 '너비가 같음'을 의미하는 '사각형'구속 조건을 만드는 방법을 찾을 수 없습니다. 프로그래밍 방식으로 이러한 제약 조건을 추가 할 수 있다고 생각합니다. IB에서 할 수있는 일이 있습니까? 아마 나는 그것을 볼 수 없을까? 그것은 사소한 것처럼 보이지만 나는 그것을 찾을 수 없습니다.인터페이스 빌더의 "너비가 높이와 같음"제약

+0

저는 피터 암몬 (Peter Ammon)이 ​​WWDC'12에서 가능한 한 많이 Interface Builder에 의존한다고 말했습니다. 얼마나 역설적인가. – DemoniacDeath

+4

그래, 거기에 레이아웃 제약의 구현에서 누락 몇 가지가 아직 생각합니다. 그들은 우리에게 대부분의 매개 변수에 대한 액세스 권한을 부여한 것 같지만 승수는 아니며 많은 것들에 유용합니다. – rdelmar

+0

하지만 점점 나아지고 있습니다! 자동 레이아웃이 도입 된 지 3 년이되지 않았고 요즘에는 내 관점에서 볼 때 지원이 정말 좋습니다. –

답변

159

업데이트 엑스 코드 5.1b5

width equals height

Ctrl 키 + 클릭하고 뷰에서 드래그 앤 포인터가보기 위에있을 때 놓습니다. "화면 비율"을 선택하십시오. 첫 번째 및 두 번째 항목이보기 인 제약 조건이 만들어집니다. 따라서

width constraint

: 너비/높이 편집기 필드가 없기 때문에


은 엑스 코드 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]; 
+1

최신 업데이트를 가져 주셔서 감사합니다. Xcode 5.1 베타 5에서는 실제로 IB에서 종횡비 제약 조건을 설정할 수 있지만 프로젝트를 컴파일하려고하면 5.1_ 이전의 Xcode 버전으로 _Aspect ratio 제약 조건이 발생합니다. 아마 우리는 최종 5.1 버전을 기다려야 할 것입니다. 너야말로? –

+0

예, XIB의 변경 사항은 이전 버전과 호환되지 않습니다. 5.1로 편집하면 더 낮은 버전으로 돌아갈 수 없습니다. – Jano

+0

그래서 xib를 컴파일 할 수 있습니까? Xcode 5.1 베타 5에서도 작동하지 않습니다. –

관련 문제