2015-08-19 71 views
1

有人可以解釋這個屬性意味着什麼autoresize = W + H? 這是我無法更改滾動視圖內容大小的原因嗎? 我如何禁用該屬性?謝謝什麼意思autoresize = W + H在UIScrollView?

+0

http://stackoverflow.com/questions/16091484/uiview-resizes-subview –

+0

問題是你正在使用自動佈局。在使用自動佈局時,更改滾動視圖內容大小的方式是在滾動視圖及其子視圖之間創建約束。請參閱[TN5154](https://developer.apple.com/library/ios/technotes/tn2154/_index.html)。 – Rob

回答

1

Autoresize = W + H確保子視圖的寬度和高度在視圖大小發生變化時進行調整,以下是一些更多選項。

RM = UIAutoresizingFlexibleRightMargin 
BM = UIAutoresizingFlexibleBottomMargin 
W = UIViewAutoresizingFlexibleWidth 
H = UIViewAutoresizingFlexibleHeight 

UIScrollView自動不知道其內容的高度。你應該計算高度和寬度,下面的方法應該得心應手

CGRect contentRect = CGRectZero; 
for (UIView *view in self.scrollView.subviews) { 
    contentRect = CGRectUnion(contentRect, view.frame); 
} 
self.scrollView.contentSize = contentRect.size; 

希望這有助於!