2014-11-02 2 views

ответ

0

Ответ «Добавление ограничений программно» является правильным, но для меня было немного света, чтобы я принял его как полный ответ.

Вот как я это сделал!

  1. Удалить все раскадровки ограничения на WebView
  2. Добавить Placeholder ограничение в раскадровку для ограничения, что вы будете добавлять с кодом. Этот шаг очень важен (и легко пропущен), или вы получите ошибку о конфликтующих ограничениях. 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 и Pin фиксированных ограничений в Interface Builder, он будет генерировать ошибку, потому что параметры относятся к представлению Superview/Container View.

enter image description here

Вы можете попробовать некоторые обходные пути:

1- Добавить UIView ограничения Программным

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

2- вручную изменить размер просмотра границ в функции initWithFrame внутри UIView Подкласс

Просьба сообщить мне о своем прогрессе.

+0

любой прогресс? @sayguh – carantes

Смежные вопросы