Ios UIWebView内容如何调整大小/缩放?
我达到了一个点,我能够锁定水平滚动,因为我想,但当我从横向旋转到纵向的内容仍然是大。我需要自己调整/缩小它,但我不知道如何使用它:Ios UIWebView内容如何调整大小/缩放?,ios,uiwebview,Ios,Uiwebview,我达到了一个点,我能够锁定水平滚动,因为我想,但当我从横向旋转到纵向的内容仍然是大。我需要自己调整/缩小它,但我不知道如何使用它: - (void)viewDidLoad { [super viewDidLoad]; NSString *fullURL = @"http://igo.nl"; NSURL *url = [NSURL URLWithString:fullURL]; NSURLRequest *requestObj = [NSURLRequest r
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *fullURL = @"http://igo.nl";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_webView loadRequest:requestObj];
_webView.scrollView.bounces = false;
_webView.scalesPageToFit = YES;
_webView.contentMode = UIViewContentModeScaleAspectFit;
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
if(fromInterfaceOrientation == UIInterfaceOrientationPortrait)
{
//_webView.scrollView.contentSize = CGSizeMake(320, _webView.scrollView.contentSize.height);
}
else
{
//[_webView reload];
_webView.bounds = CGRectMake(0, 0, 320,_webView.bounds.size.height);
_webView.frame = CGRectMake(0, 0, 320, _webView.frame.size.height);
_webView.scrollView.contentSize = CGSizeMake(320, _webView.scrollView.contentSize.height);
}
}
编辑:
我似乎需要的是将内容缩小试试看
-(void)viewWillLayoutSubviews
{
------
}
计算使用
self.view.bounds.size.width,
self.view.bounds.size.height
使用
UIWebViewDelegate的委托方法
@interface YOUR_CLASS : PARENT_CLASS <UIWebViewDelegate>
调用委托方法
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView.scrollView setContentSize: CGSizeMake(webView.frame.size.width, webView.scrollView.contentSize.height)];
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[_webView reload]; //Or use meta tag
[_webView.scrollView setContentSize: CGSizeMake([_webView.scrollView.contentSize.width, _webView.scrollView.contentSize.height)];
}
您必须将meta
标记添加到HTML
文件中
<meta name="viewport" content="width=device-width" />
没有工作,我正在用didRotateFromInterfaceOrientation
方法\u webView.bounds.size.height计算上一帧设置,因此最好使用200,就像那样\u webView.frame=CGRectMake(0,0,320,200);问题不在于高度I,内容宽度对于框架来说太大,我不想使用水平滚动hanks进行setContentSize技巧!您的代码对我来说还不够,因为我正在从webview内容切换到可以滚动和缩放到固定宽度且没有滚动内容的内容。仅在更改viewport meta标记时调用此代码是不够的,似乎我必须等到页面加载后才能运行(但我使用的是单页面应用程序,这就是为什么webviewdidfishload不够的原因)。
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView.scrollView setContentSize: CGSizeMake(webView.frame.size.width, webView.scrollView.contentSize.height)];
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[_webView reload]; //Or use meta tag
[_webView.scrollView setContentSize: CGSizeMake([_webView.scrollView.contentSize.width, _webView.scrollView.contentSize.height)];
}
<meta name="viewport" content="width=device-width" />
[_webView reload];