我在我的项目中使用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。 但那也不解决请帮助我..
答案 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)
而不是
sizetofit
和autoresizing|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.尝试在此
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
//Reload your web view here
}