当UIWebView框架改变时,scrollView也改变了,我怎么才能改变框架?

时间:2012-10-22 09:08:33

标签: ios uiwebview

我对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已更改。

谁能告诉我如何更改webview的大小而不更改scrollview的大小?我使用xcode 4.3.2和IOS SDK 5.1。

我发现如果我将大小更改为(0,300,200,200)并使用'www.qq.com',那么似乎答案总是4218,1000,除非我将矩形大小更改为大于(4218,1000)。所以我认为webview或scrollview中存储了一些参数来控制scrollview的最小尺寸。谁知道我要搜索的参数?

1 个答案:

答案 0 :(得分:0)

尝试在viewdidload之前获取内容大小&在loadRequest之后。

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