Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIWebView scrollView.contentSize.height未更改_Ios_Objective C_Uiwebview - Fatal编程技术网

Ios UIWebView scrollView.contentSize.height未更改

Ios UIWebView scrollView.contentSize.height未更改,ios,objective-c,uiwebview,Ios,Objective C,Uiwebview,加载htmlString后,UIWebView中scrollView的内容大小不会更改。在其他方面,我的ViewController都很好,但现在它有些神秘了 我有 UIWebView *contentWebView; 我用某种方法做到了 - (void)makeContent { ... contentWebView = [[UIWebView alloc] initWithFrame:CGRectMake(5, imageView.originY + imageView.h

加载htmlString后,
UIWebView
中scrollView的内容大小不会更改。在其他方面,我的ViewController都很好,但现在它有些神秘了

我有

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帮帮我,但现在不行了

在日志中我有下一个

所以我不明白为什么contentsize.height没有改变

编辑

在我的另一个视图中,控制器都很好

- (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中设置,但结果-否


无论停留
contentWebView.scrollView.scrollEnabled=no我改为是,但结果相同-在第二种情况下,第一种情况下一切正常-否

您需要将
改为
您的
内容WebView.scrollView.scrollEnabled
,例如

 contentWebView.scrollView.scrollEnabled = YES;
已编辑

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [webView sizeToFit];
    webView.scrollView.contentSize = CGSizeMake(320, contentWebView.scrollView.contentSize.height + 60);
} 

问题是您的视图还不可见。您要查找的值仅在添加到视图堆栈中的视图后才可见


在这个过程中的某个地方,当您检查您的值时,您的视图似乎没有被添加到

是否看到我的答案?不帮助,在其他控制器中,我将此属性设置为“否”,并且我没有像现在这样的问题,我找到了答案,但您能解释一下吗?=)我写在下面这不是答案,我已经在下面贴出了正确的答案。@TheisEgeberg-你怎么能说你的答案是正确的?我的错了吗??你能解释一下吗?嗯,我试图重现他的错误,但只有在视图未添加到可见堆栈的情况下才发现它。对不起,我已对其进行了编辑以使其更具可读性。我试图重现他的错误,只有当视图不在可见视图堆栈中时才会发生。由于他的问题并不存在于所有的ViewController中,我相当肯定这就是问题所在。listen
contentWebView
是一个
UIWebView
,它被添加为
mainView
的子视图,因此,如果你是说,
mainView
没有添加到任何super视图中,那么Webview将如何显示?我已经更改了我的答案:)没有添加的不是mainView,我相信是scrollview本身。或者webview,在流程中的某个点,它还没有被添加。