gpt4 book ai didi

ios - 使用 sizeThatFits : doesn't work 调整 UIWebView 的大小

转载 作者:行者123 更新时间:2023-12-01 18:13:31 26 4
gpt4 key购买 nike

我有以下代码:

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, kWidth, 1)];
[webView loadHTMLString:[input objectForKey:@"htmlContent"] baseURL:nil];
CGSize size = [webView sizeThatFits:CGSizeMake(kWidth, FLT_MAX)];
webView.frame = CGRectMake(0, 0, kWidth, size.height);
NSLog(@"%@",NSStringFromCGRect(webView.frame));
NSLog(@"%@",NSStringFromCGSize(size));

这个想法来自 this在使用 sizeThatFits 之前回答并作为 OP 提到的选择了一个最小尺寸,即 1。屏幕上的输出如下:
{{0, 0}, {768, 1}}
{768, 1}

换句话说,高度不会被修改,我将选择什么值而不是 1,它将保持为我的 View 的高度。我到底做错了什么?

最佳答案

因为 loadHTMLString 是异步的,你的 sizeThatFits 方法将在实际的 html 被加载和渲染之前被调用。

我建议的是,实现 UIWebViewDelegate 协议(protocol)

webView.delegate = self;

进而
-(void)webViewDidFinishLoad:(UIWebView *)webView {
CGSize size = [webView sizeThatFits:CGSizeMake(kWidth, FLT_MAX)];
webView.frame = CGRectMake(0, 0, kWidth, size.height);
}

注意:我在您的代码中没有看到您将 webview 添加为 subview 的任何地方,但我假设您是

关于ios - 使用 sizeThatFits : doesn't work 调整 UIWebView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com