UIWEBVIEW +内容适合webview的框架

时间:2012-06-13 08:24:54

标签: iphone uiwebview

我在我的项目中使用UIwebview。在webview中的cotent已经从html数据中填充了下面这样的代码:

[webView loadHTMLString:[NSString stringWithFormat:@"<html><body><font face=\"Arial\" size=\"3\"</font>%@</body></html>",[[[dict_Response objectForKey:@"objects"]objectAtIndex:0]objectForKey:@"detaildescription"]] baseURL:[NSURL URLWithString:@"http://newsletter.nobelbiocare.com/"]];

现在我正在设置webview的框架: -

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
 if(appDel.ori_appDel == UIInterfaceOrientationPortraitUpsideDown || appDel.ori_appDel == UIInterfaceOrientationPortrait)
        {
webView.frame=CGRectMake(30,150,710,450);
}else{
webView.frame=CGRectMake(30,150,930,450);
}
return yes;
}

现在发生的事情是在横向模式下,内容以正确的方式显示。但是当我移动到纵向模式时,它会自动显示水平滚动。我不想在水平模式下滚动webview。 请帮帮我。如何解决这个问题。

我曾使用sizetofit和autoresizing | autofixing。 但那也不解决请帮助我..

4 个答案:

答案 0 :(得分:3)

@shweta

尝试在webViewDidFinishLoad中更新您的webview:这将对您有所帮助。并尝试在html而不是Web视图框中设置大小。

- (void)webViewDidFinishLoad:(UIWebView *)webview {
    CGRect oldBounds = [[self webview] bounds];
    //in the document you can use your string ... ans set the height
    CGFloat height = [[webview stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue];
    [webview setBounds:CGRectMake(oldBounds.origin.x, oldBounds.origin.y, oldBounds.size.width, height)];
}

主要关注的是方法。

[webview stringByEvaluatingJavaScriptFromString:@"document.height"] 

使用javascript。

答案 1 :(得分:2)

而不是

sizetofitautoresizing|autofixing

webview.scalePageToFit=TRUE

答案 2 :(得分:1)

使用此:

  [webView loadHTMLString:[NSString stringWithFormat:@"<html><div style='font-family: arial,helvetica;font-size: 14px;'>%@</div></html>",[[[dict_Response objectForKey:@"objects"]objectAtIndex:0]objectForKey:@"detaildescription"]] baseURL:[NSURL URLWithString:@"http://newsletter.nobelbiocare.com/"]];

答案 3 :(得分:1)

试试这些 1.将body标签之间的格式说明符设为</font>%@</body></html>
2.尝试在此

中重新加载Web视图
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    //Reload your web view here
}