2017-03-13 3 views
1

저는 Interface Builder에서 autolayout으로 고민하고 있습니다.선행/후행 치수가 너무 작아 질 때까지 최대 너비로 뷰를 유지하는 방법?

나는 다음과 같은 레이아웃을 데 : 왼쪽/오른쪽 여백이 적은 다음 30이됩니다하지 않는
내가의 UILabel의 300의 폭을 갖고 싶어 : 나는 달성하고 싶다 무엇

------------------------------- 
|        | 
| _____________________ | 
| |     | | 
|<-->|  UILabel  |<-->| 
| |     | | 
| --------------------- | 
| <-------------------> | 
------------------------------- 

. 왼쪽/오른쪽 여백은 항상 내가 뭘하려 30

수 있도록 그 경우 UILabel의의 폭이 작아야합니다 :
UILabel의 폭 :,
왼쪽/오른쪽 선행/후행는 : Greater than or equal: 30

이 360 폭에 맞지 않는 레이아웃에서 작동하기 때문에 UILabel의 작은된다. 그러나 400 너비를 사용할 수있게되면 UILabel은 280이되고 Leading/Trailing은 50이됩니다 ...

다른 우선 순위를 실험했지만 실제 효과가없는 것 같습니다. 또한 UILabel 너비 제약을 equal으로 설정하려고 시도했지만 폭이 작고 360도 작아지지 않았습니다.

이 문제가 해결 되었습니까?

+0

선행/후행 제약 조건을 30으로 설정하고 너비 제약 조건의 우선 순위를 750으로 설정하십시오. 그러면 뷰의 크기가 어떻든간에 왼쪽 및 오른쪽 제약 조건은 30이됩니다. – Prientus

+0

살펴보기 [포옹 priotity] (http://stackoverflow.com/questions/15850417/cocoa-autolayout-content-hugging-vs-content-compression-resistance-priority) 이것은 당신의 문제를 해결한다. – Axel

답변

2

이 시도 ... 레이블에 : 999

enter image description here의 우선 순위와, 30

  • 세트 폭 300 : 모두 선행 및 후행 설정

    • 보다 크거나 같음

      enter image description here

      이어야합니다.

  • +0

    그래, 나는 이것이 내가 먼저 할 것이라고 확신한다. 그것이 효과가 있다고 우리에게 말할 수 있습니까? –

    +0

    처음에는 작동하지 않았지만 레이블을 제거하고 다시 읽은 다음 솔루션을 적용했습니다. 이제 완벽하게 작동합니다! – Peterdk

    +0

    Xcode 9에서 작동하지 않습니다. 확인해 주시겠습니까? –

    0

    UILabel 너비는 300이고 우선 순위는 High으로 설정하십시오. 왼쪽/오른쪽 줄 바꿈/후행 : 30Required 우선 순위. 정상적으로 작동합니다.