![](/img/trans.png)
[英]UIView with Auto Layout doesn't increase height inside UIScrollView
[英]Why my UIView inside UIScrollView doesn't respect its height contraint?
有一種解決方法。 聽UIScrollView
的contentSize
的更改。 當contentsize更改時,您將其捕獲,並更改了子視圖的框架(高度,寬度..)
像這樣:
[scrollView addObserver:self
forKeyPath:@"contentSize"
options:NSKeyValueObservingOptionNew
context:NULL];
您在這里找到它:
- (void) observeValueForKeyPath:(NSString*)keyPath
ofObject:(id)object
change:(NSDictionary*)change
context:(void *)context {
//change subview frame accordingly
}
相等的高度約束將使框架具有相同的大小,但不會導致視圖的高度等於內容的大小。 我會為視圖創建一個實際的高度約束,然后在設置滾動視圖的contentSize.height之類的東西時,使該約束成為IBOutlet並更新它的常量。
self.viewHeightConstraint.constant = self.scrollView.contentSize.height;
無論您在哪里更新,scrollview的內容大小。 我會說,使用自動布局時,通常設置或更新約束比設置框架要好。 設置框架往往會與布局引擎發生沖突。
通過選中“相等高度”框找到設置的約束。 選中“高度”框,為此創建一個IBOutlet。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.