2014-11-02 97 views

回答

0

答案“以编程方式添加约束”是正确的,但对于细节我略微接受它作为完整答案。

下面是我做到的!

  1. 卸下的WebView
  2. 所有故事板约束故事板添加一个占位符约束为将要与代码添加约束。这一步非常重要(并且很容易被忽略),否则你会得到一个关于冲突约束的错误。 Placeholder constraint
  3. 代码添加到webviewDidFinishLoad委托方法

--Code--

- (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]; 


} 
2

UIScrollView具有动态约束,在运行时会生成左边,上边,宽度和高度。如果将UIView放在UIScrollview中并且在Interface Builder中固定了固定约束,它将生成一个错误,因为这些参数与Superview/Container View相关。

enter image description here

你可以尝试一些变通方法:

1-添加的UIView约束编程

http://www.thinkandbuild.it/learn-to-love-auto-layout-programmatically/

2-手动调整一个UIView子类

里面initWithFrame功能视图边界

请给我任何关于你的进展的反馈。

+0

有何进展? @sayguh – carantes 2014-11-04 01:16:03