我UIView
内有UIScrollView
。我可以很容易地将高度固定到UIScrollView
的框架高度。
如何添加固定到UIScrollView contentSize
的约束?
谢谢!
答案 0 :(得分:2)
UIScrollView具有动态约束,在运行时生成左,顶部,宽度和高度。如果将UIView放在UIScrollview中并在Interface Builder中固定Pin,则会产生错误,因为参数与Superview / Container View相关。
您可以尝试一些解决方法:
1-以编程方式添加UIView约束
http://www.thinkandbuild.it/learn-to-love-auto-layout-programmatically/
2-在UIView子类中的initWithFrame函数中手动调整视图边界
请告诉我有关您进度的任何反馈。
答案 1 :(得分:0)
答案“以编程方式添加约束”是正确的,但对于我来说,接受它作为完整答案的细节有点亮。
我是这样做的!
- 代码 -
- (void)webViewDidFinishLoad:(UIWebView *)webView {
_scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width, _headerImageView.frame.size.height + webView.scrollView.contentSize.height);
_webView.translatesAutoresizingMaskIntoConstraints = NO;
NSDictionary *viewsDictionary = @{@"myWebView":_webView};
NSString *constraintsString = [NSString stringWithFormat:@"V:[myWebView(%i)]", (int)_scrollView.contentSize.height];
NSArray *constraint_H = [NSLayoutConstraint constraintsWithVisualFormat:constraintsString options:0 metrics:nil views:viewsDictionary];
[_webView addConstraints:constraint_H];
}