Ios 调整嵌入到scrollview中的webview的大小

Ios 调整嵌入到scrollview中的webview的大小,ios,sqlite,uiwebview,uiscrollview,Ios,Sqlite,Uiwebview,Uiscrollview,我有一个包含歌曲的HTML字符串的sqlite数据库 视图控制器 在这个视图控制器中,我有一个文本和一个按钮,用户在其中输入歌曲编号,还有一个按钮发送搜索数据库的请求 歌曲显示 在这个视图控制器中,我有一个web视图和一个标签,它们都嵌入在一个滚动视图中。已禁用“我的web视图”的滚动 歌词显示,滚动视图的大小正确调整。但是,web视图没有调整大小,只是显示了一些歌词。我知道这一点,因为我有不同颜色的滚动视图和网络视图 滚动视图顶部 这里的问题示例是滚动视图的底部 这是我的代码: - (vo

我有一个包含歌曲的HTML字符串的sqlite数据库

视图控制器
在这个视图控制器中,我有一个文本和一个按钮,用户在其中输入歌曲编号,还有一个按钮发送搜索数据库的请求

歌曲显示
在这个视图控制器中,我有一个web视图和一个标签,它们都嵌入在一个滚动视图中。已禁用“我的web视图”的滚动

歌词显示,滚动视图的大小正确调整。但是,web视图没有调整大小,只是显示了一些歌词。我知道这一点,因为我有不同颜色的滚动视图和网络视图

滚动视图顶部

这里的问题示例是滚动视图的底部

这是我的代码:

- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
    CGRect frame = aWebView.frame;
    frame.size.height = 1;
    aWebView.frame = frame;

    CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];

    frame.size = fittingSize;

    [self.scroll setContentSize:fittingSize]; //scroll is the name of the scroll view

    aWebView.frame = frame;

    NSLog(@"size: %f" ,fittingSize.height);
}

如何同时调整web视图和滚动视图的大小?

我通过在
viewwillbeen
内部细节视图中加载内容解决了这个问题 像这样

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self configureView];//<-- here i am call loadHTMLString
}

- (void)configureView
{

    // disabling scroll for webview
    if ([self.detailWebView respondsToSelector:@selector(scrollView)]) {
        self.detailWebView.scrollView.scrollEnabled = NO; // available starting in iOS 5
    } else {
        for (id subview in self.detailWebView.subviews)
            if ([[subview class] isSubclassOfClass: [UIScrollView class]])
                ((UIScrollView *)subview).scrollEnabled = NO;
    }

    // setting content
    if (self.detailItem) {
        self.detailTitle.text = self.detailItem->title;
        //image scaling styles
        NSString *style=@"<style type=\"text/css\">\n"
        "img { \n"
        "   display: block;"
        "   float:none;"
        "   margin:0 auto;"
        "   max-width:100%;"
        "   height:auto;"
        "} \n"
        "</style>\n";

        [self.detailWebView loadHTMLString:[style stringByAppendingString:self.detailItem->content] baseURL:nil];
    }
}
-(void)视图将显示:(BOOL)动画
{
[超级视图将显示:动画];
[自配置视图];//标题;
//图像缩放样式
NSString*样式=@“\n”
“img{\n”
“显示:块;”
“浮动:无”
“页边距:0自动;”
“最大宽度:100%;”
“高度:自动;”
“}\n”
“\n”;
[self.detailWebView loadHTMLString:[style stringByAppendingString:self.detailItem->content]baseURL:nil];
}
}

当OSX Mavericks正式发布时,问题自行解决。之前的问题可能是测试版中的一个bug造成的。

根据苹果公司的建议,不应该在scroll view中嵌入webview

重要的

不应在UIScrollView中嵌入UIWebView或UITableView对象 物体。如果这样做,可能会因为触摸而导致意外行为 这两个对象的事件可能会混淆并错误处理

参考:

ScrollView中的Web视图无法正常工作。这种情况很快就会好转。现在会有问题的,我也有同样的问题(