当UIWebView的框架改变时,scrollView也会改变,我该如何只改变框架?

4

我有一个关于 xcode 中 UIWebView 的问题,以下是给出的示例代码,请将其添加到 UIWebView 中。

- (void)viewDidLoad
{
    [super viewDidLoad];
    webview.frame=CGRectMake(0, 200, 768, 1024);
    [webview.scrollView setContentSize:CGSizeMake(768, 5000)];
    [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]]];
    webview.backgroundColor=[UIColor redColor];
}

- (IBAction)button2pressed:(id)sender {
    webview.frame=CGRectMake(0, 200, 768, 1024);
    NSLog(@"%f,%f",webview.scrollView.contentSize.height,webview.scrollView.contentSize.width);
}

- (IBAction)button1pressed:(id)sender {
    webview.frame=CGRectMake(0, 300, 768, 1024);
    NSLog(@"%f,%f",webview.scrollView.contentSize.height,webview.scrollView.contentSize.width);
}

当我点击 button1button2 后,答案都是 5000,768

但是当我将大小从 (0,300,768,1024) 改为 (0,300,768,1044) 时,答案变成了 1024,7681044,768,这意味着滚动视图的 contentSize 发生了改变。

谁能告诉我如何在不改变滚动视图大小的情况下更改网页视图的大小?我使用的是 xcode 4.3.2 和 IOS SDK 5.1。

我发现如果我将大小改为 (0,300,200,200) 并使用 'www.qq.com',那么除非我将矩形大小增大到 (4218,1000),否则答案似乎总是4218,1000。因此,我认为在网页视图或滚动视图中有一些参数可以控制滚动视图的最小大小。谁知道我正在寻找的参数?

1个回答

0

viewdidload中尝试获取内容大小,在loadRequest之前和之后。

然后在更改框架后执行相同的操作,这应该能回答你的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接