Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.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内容如何调整大小/缩放?_Ios_Uiwebview - Fatal编程技术网

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];