2011-02-04 5 views
4

근처 요소 (UIImageView)가 숨겨져있을 때 자동으로 요소 (예 : WebView)의 크기를 조정할 수 있습니까?보기의 자동 변경 레이아웃

HTML을 보여주는 WebView가있는 일반 UIView가 있지만 경우에 따라 그 위에 이미지가 필요합니다. 그래서 WebView 위에 이미지를 놓았지만이 뷰가 없으면 ImageView의 공간을 차지하기를 원합니다. 그렇지 않으면 흰색 막대가 나타납니다.

또 다른 옵션은 Webview를 통해 배치하는 것이지만 어쨌든 이미지 주위에 텍스트 흐름이 있다고 생각하지 않습니다.

깔끔한 솔루션에 대한 의견이 있으십니까? 미리 감사드립니다.

답변

0

이미지를 표시하거나 숨기는 동일한 방법으로 WebView의 크기를 조정하면 왜 그런 문제가 발생합니까?

그건 그렇고, 코코아 Autolayout는 OSX Lion을 위해 소개되었습니다. 현재 iOS 6은 NDA에 속해 있지만 개발자 계정이있는 경우 한 번 보시면 어떨까요?

0

체크 아웃 CSLinearLayoutView을 확인하십시오. 안드로이드의 LinearLayout과 RelativeLayout을 흉내 내고 뷰의 동적 크기 조정/이동을 단순화 할 수 있어야합니다.

+0

흥미로운 링크 –

2

내가 배운 편리한 트릭은 --of 물론 당신이 당신의 자신의 layoutSubviews 방법을 작성해야 CGRectDivide()에 의존하는 것입니다,하지만 너무 어렵지 않다 :

-(void)layoutSubviews 
{ 
    CGRect bounds = self.bounds ; 
    if (!self.imageView.hidden) 
    { 
     CGRect slice ; 
     CGRectDivide(bounds, & slice, & bounds, IMAGE_VIEW_HEIGHT, CGRectMinYEdge) ; 
     self.imageView.frame = slice ; 
    } 

    // bounds here contains the remaining layout space with or without the image view 
    self.webView.frame = bounds ; 
}