當附近的元素(UIImageView)被隱藏時,有沒有辦法自動調整元素(例如WebView)的大小?自動更改視圖的佈局
我有一個正常的UIView與WebView在其中顯示HTML,但在某些情況下,需要一個以上的圖像。所以我把圖片放在WebView的上面,但是如果這個圖片不存在,webview也會佔用ImageView的空間,否則會出現白色條。
另一種選擇是將它放在Web視圖上,但我不認爲有任何文字在圖像周圍流動。
任何人對於整潔的解決方案有什麼建議嗎? 非常感謝!
當附近的元素(UIImageView)被隱藏時,有沒有辦法自動調整元素(例如WebView)的大小?自動更改視圖的佈局
我有一個正常的UIView與WebView在其中顯示HTML,但在某些情況下,需要一個以上的圖像。所以我把圖片放在WebView的上面,但是如果這個圖片不存在,webview也會佔用ImageView的空間,否則會出現白色條。
另一種選擇是將它放在Web視圖上,但我不認爲有任何文字在圖像周圍流動。
任何人對於整潔的解決方案有什麼建議嗎? 非常感謝!
爲什麼只是用顯示或隱藏圖像的相同方法調整WebView的大小時會出現這樣的問題?
順便說一下,Cocoa Autolayout是爲OSX Lion推出的。 iOS 6目前處於NDA之下,但如果您有開發人員帳戶,請查看,也許在那裏有類似的情況。
退房CSLinearLayoutView。它試圖模仿Android的LinearLayout和RelativeLayout,並且應該能夠簡化視圖的動態調整大小/移動。
一個方便的技巧我學到的是依靠CGRectDivide()
--oF當然,你將不得不寫自己的layoutSubviews
方法,但它不是太困難:
-(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 ;
}
有趣的鏈接 – 2012-06-29 10:06:25