2014-02-12 2 views
-1

스토리 보드 사용 높이가 5px 인 UIView를 추가합니다.autolayout에서 내보기 크기 조정을 중지하십시오.

런타임시보기의 높이가 증가합니다 (최대 25px까지 가능).

방향이 변경되면보기의 높이가 원래 5px로 되돌아갑니다.

어떻게 방지 할 수 있습니까? 나는 오리 엔테이션 변경 이전의 모든 것이 유지되도록 높이를 원합니다.

확실히 방향 변경을 감지하고 다시 변경 할 수 있지만 그때는 곧 줄어들어 축소됩니다.

편집 : 자동 레이아웃 문제 일 수도 있고 아닐 수도 있습니다. 스토리 보드의 기본 동작 일 수도 있습니다.

+0

가 왜 자동 레이아웃을 선택 해제하지를? –

+0

다른 것들을 위해 autolayout을 사용하기 때문에 – MobileMon

+0

대문자를 진정 시키십시오. – jbouaziz

답변

-2

문제에 대한 해결책은있는 UIView를 sublcass하고 무시하는 것입니다. 자동 레이아웃을 사용하는 경우 프로그래밍 방식으로 제약 조건을 수정하여보기의 높이를 조정해야합니다. 당신이 스토리 보드에 제약을하고 말했다 이후이 IBOutlet을 넣어

@property (strong, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint; 

:

는 뷰의 높이 제약 조건에 대한 속성을 확인합니다. 높이 제약 조건을 속성에 드래그하면 연결됩니다. (당신은 또한 당신이 IBOutlet를 사용하지 않을 경우에 프로그래밍 방식으로 제약 조건을 만들 수 있습니다.)

을 그런 다음 높이를 변경할 때마다 :

self.heightConstraint.constant = 25; 
+1

이것은 잘못된 접근 방법입니다. 자동 레이아웃을 사용하는 경우 프로그래밍 방식으로 제약 조건을 수정하여보기의 높이를 조정해야합니다. –

+0

@AaronBrager, 왜 이것이 잘못된 접근입니까? – MobileMon

+0

@AaronBrager는 프로그래밍 방식으로 높이 제한을 수정해야하는 방법의 예를 제공 할 수 있습니까? – MobileMon

1

높이를 고정하는 구속 조건을 추가하면 구속 조건을 제거해야 할 수도 있습니다. 코드를 보여 주거나 처음에 상수를 설정하는 방법을 설명하면보다 자세한 답변을 얻을 수 있습니다.

다른 답변은보기의 크기를 늘리거나 제한 조건이 충돌한다는 제약 조건을 제거하는 것입니다.

다른 구속 조건의 우선 순위를 조정해야 할 수도 있습니다.보기간에 간격을 두는 것이 좋습니다. 다시 한번 더 자세히 = 더 나은 대답. 에서 (무효) layoutSubviews

을 - - 내가 원하는 높이

+0

자동 검토 문제인지 확실하지 않습니다. 나는 내 자신의 질문에 대답했다. 도움을 주셔서 감사합니다 – MobileMon

0

재정 -layoutSubviews 잘못된 접근 방식을 설정할 경우 (무효) layoutSubviews는

관련 문제