2014-12-25 3 views
0

자동 레이아웃이있는 scrollview를 사용중인 작은 IOS 응용 프로그램을 개발 중입니다. 모든 것이 올바르게 작동하고 있습니다. 그러나 스크롤 뷰 내부의보기를 숨길 때 조정할 수 없습니다 그것에 따라 scrollview 높이.스크롤 레이아웃의 높이를 조정하지 않는 자동 레이아웃이 포함 된 Scrollview

Scrollview -> View -> view1 
        -> view2 
        -> view3 
        -> view4 

그래서 위의 상황에서 내가 view3 다음 숨기는 경우가 layout.It는 숨기기보기 대신에 빈 자리를 왼쪽으로 조정되지처럼 내 뷰 계층 보인다. 내가 뭔가 잘못하고 있는거야? 동적 레이아웃을 사용하는 자동 레이아웃 및 스크롤 뷰를 사용하는 방법은 무엇입니까?

+0

표시 할 수있는보기의 최대 Y를 계산 한 다음 scrollView.contentSize를 수정하십시오. – stosha

+0

다시 시도해보고 다시 시도해 보겠습니다. – nilkash

+0

은폐는 자동 레이아웃을 처리하지 않습니다. 숨겨진보기는 레이아웃 계산 중에 여전히 고려됩니다. – Andrea

답변

0

뷰를 숨기지 않아도 뷰 계층 구조에서 제거되지 않으면 보이지 않게됩니다.

autolayout에서이 작업을 수행하려면 계층 구조 (removeFromSuperview)에서보기를 제거한 다음 필요에 따라 다양한 제한 조건을 조정해야합니다. 이는 일반적으로 변경할 필요가있는 모든 제약 조건에 대한 참조를 유지해야한다는 것을 의미합니다.

+0

안녕하세요 @ 앤드류 빠른 답변 주셔서 감사합니다. 그것에 대한 모범이 있습니까? – nilkash

+0

죄송합니다, 지금 여행 중이며 모바일에 있습니다. 하지만, 이전에 대답 한 질문은 본질적으로 반대 (보기를 추가하고 자동보기를 사용하여 수퍼 뷰를 증가 시키도록)를 수행하고 진행 방법을 알려주는 질문입니다. http://stackoverflow.com/questions/27317228/resize-superview-while-adding-subviews-dynamically-with-autolayout/27334720#27334720 –

+0

안녕하세요 걱정하지 마십시오. 귀하의 친절한 도움을 주셔서 감사합니다. 귀하의 솔루션을 확인하십시오 – nilkash

0

당신은

+0

내 UI는 그 안에 컬렉션보기뿐만 아니라 테이블이 포함되어 있다는 것을 의미합니다. 따라서 테이블 뷰를 사용하면 테이블 뷰와 컬렉션 뷰가 다시 복잡 해져서 처리 할 수 ​​있습니다. 다른 해결책이 있습니까? – nilkash

0

당신은있는 ScrollView의 내용보기에서 우아한 감소에 0에 애니메이션이 속성 결과의 폭과 높이를 변경해야 jQuery과를 사용하여보기를 제거 deleteRowsAtIndexPaths를 사용해야합니다. 하위 뷰에 대한 자동 레이아웃을 올바르게 설정해야합니다.

관련 문제