2013-06-20 3 views
1

홈페이지 질문을 새로 고침 : 나는 3 개 라벨 (LABEL1, 라벨 2, LABEL3) 다른 아래 하나가 있습니다. 런타임시, 라벨 2 숨겨진로 설정 또는 수퍼에서 제거하는 경우, 만약 내가 LABEL1 아래 LABEL3를 정렬하려면 어떻게 .아이폰 OS 자동 레이아웃 제약

초기보기 :

Label1 
vertical spacing 
Label2 
vertical spacing 
Label3 

작업 :

set Label2.hidden = yes; 

출력 :

    :

    Label1 
    vertical spacing 
    Label3 
    

    내가 시도하는 수직 공간의 제약 조건을 적용하는 것입니다 나는 내가 새로 고침 할 방법 라벨 2를 제거 할 때

지금 가장 우선 순위가 낮은 LABEL1와 LABEL3 사이 3 제약

  • 몇 가지 우선 순위가 높은 우선 순위 WRT와 라벨 2와 LABEL3 사이
  • 와 LABEL1 및 라벨 2 사이
  • 제약 조건 또는 모든 제약 조건을 추적하고 label2가 숨겨져있을 때 두 번째 제약 조건을 제거해야합니까? 당신이 숨겨진로 설정하면

  • 답변

    0

    이유는 단지 동일한 라벨 2에 LABEL3의 프레임을 변경하지?

    그래서 Label3.frame = Label2.frame;Label2.hidden = YES; 후 그 반대로 추가 할 수 있습니다.

    +0

    대부분이 iOS 7에서 사용되므로 –

    +0

    설정이 적용됩니다. –

    1

    해결책은 제로입니다 수 있도록 라벨 2에 높이 제약 조건을 변경 한 다음 모든 것을 위로 이동하도록 제약 조건을 새로하는 것입니다. 당신은 그 변수의 속성을 확인하고 +(id)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;

    몇 가지 팁을 설정해야 할 것 : 제거해야합니다

    • , 변화와 라벨이 아닌 라벨의에서 제약 조건을 다시 추가 슈퍼 뷰. 물론, 상수의 예외가되는 0

    행운이 될 것입니다

  • 당신은 가진 새에 대한 기존의 제약에 대해 동일한 값의 모든 을 사용할 수 있습니다!

  • +0

    제약 조건이 적용될 때 프레임이 무시됩니다.이 방법으로 시작시 모든 제약 조건을 설정할 수 있습니다. 예를 들어 안드로이드의 선형 레이아웃처럼 당신은 중간보기 다른 사람이 다른 아래 하나를 정렬 숨길 .. –

    +0

    난 당신이 중간 뷰가 사라지게 할 뿐이다 안드로이드에서 무엇을 할 수 있는지 이야기하고 3보기 당신은 수행하여이 작업을 수행 할 수 있어야한다, 이동 할 수 없습니다 대답에서 내가 말하는 것. –

    관련 문제