加载htmlString后,UIWebView
中scrollView的contentSize不会更改。在其他我的viewControllers一切都很好,但现在它是神秘的
我有
UIWebView *contentWebView;
我用某种方法制作
- (void)makeContent
{
...
contentWebView = [[UIWebView alloc] initWithFrame:CGRectMake(5, imageView.originY + imageView.height + 5, mainView.width - 10, 100)];
contentWebView.delegate = self;
contentWebView.scrollView.scrollEnabled = NO;
contentWebView.contentMode = UIViewContentModeScaleAspectFit;
NSLog(@"%@", factDict[@"text"]);
[contentWebView loadHTMLString:factDict[@"text"] baseURL:nil];
contentWebView.height = contentWebView.scrollView.contentSize.height;
[mainView addSubview:contentWebView];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"%f %f %f %f ", webView.height, webView.scrollView.contentSize.height, contentWebView.height, contentWebView.scrollView.contentSize.height);
[webView sizeToFit];
NSLog(@"%f %f %f %f ", webView.height, webView.scrollView.contentSize.height, contentWebView.height, contentWebView.scrollView.contentSize.height);
...
}
早期其他控制器contentWebView.height = contentWebView.scrollView.contentSize.height;
帮助我,但现在它不起作用
在日志中我有下一个
所以我不明白为什么contentize.height没有改变
修改
在我的另一个viewcontrollers中一切都很好
- (void)makeScrollView
{
CGFloat width = [Utils widthOfMainViewForOrientation:self.interfaceOrientation];
[mainView removeFromSuperview];
mainView = [[UIView alloc] initWithFrame:CGRectMake((self.view.width - width) / 2, 15, width, 100)];
mainView.backgroundColor = [UIColor whiteColor];
if ([self.fullInfoDictionary[@"content"] length]) {
contentWebView = [[UIWebView alloc] initWithFrame:CGRectMake(6, 4, mainView.width - 12, 100)];
contentWebView.contentMode = UIViewContentModeScaleAspectFit;
contentWebView.delegate = self;
HelperDf.htmlString = self.fullInfoDictionary[@"content"];
[contentWebView loadHTMLString:self.fullInfoDictionary[@"content"] baseURL:nil];
contentWebView.scrollView.scrollEnabled = NO;
[mainView addSubview:contentWebView];
}
[self.scrollView addSubview:mainView];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
contentWebView.height = contentWebView.scrollView.contentSize.height;
NSLog(@"%f %f %f %f", webView.height, webView.scrollView.contentSize.height, contentWebView.height, contentWebView.scrollView.contentSize.height);
[self reloadFrames];
}
我有下一个
我从这个控制器获取htmlString
HelperDf.htmlString = self.fullInfoDictionary[@"content"];
然后设置我的第一个UIWebVIew但结果 - NO。
你可以保持contentWebView.scrollView.scrollEnabled = NO;
我改为YES,但结果是相同的 - 在第二种情况下,一切都好 - 没有
答案 0 :(得分:0)
您需要将NO
更改为YES
contentWebView.scrollView.scrollEnabled
,例如
contentWebView.scrollView.scrollEnabled = YES;
<强> EDITED 强>
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[webView sizeToFit];
webView.scrollView.contentSize = CGSizeMake(320, contentWebView.scrollView.contentSize.height + 60);
}
答案 1 :(得分:0)
问题是您的观点尚未可见。您要查找的值只有在添加到视图堆栈中的视图后才会显示。
在您检查您的值时,您的视图似乎未被添加到某处。