gpt4 book ai didi

iphone - 如何防止延迟显示我的 UIWebView

转载 作者:行者123 更新时间:2023-11-29 13:50:11 24 4
gpt4 key购买 nike

我必须在表格前包含一些“富文本”说明*;并认为将 UIWebView 添加到 tableview 的标题会起作用。 HTML 是我的资源文件夹中的一个小文件,CSS 在文件中的样式标签中;所以这一切都很好而且独立。

问题是, View 转换为;然后在稍有延迟后,webview 的内容就会出现。效果很刺耳,我认为隐藏 View 并在它准备就绪时淡入会更可取。

我在我的 viewDidLoad 方法中使用下面的代码创建 View 。

UIWebView * wv = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, HEADER_HEIGHT)];
[wv setBackgroundColor:[UIColor clearColor]];
[wv setOpaque:NO];
NSString *path = [[NSBundle mainBundle] pathForResource:@"HeaderMsg" ofType:@"html"];
assert(path != nil);
NSData *htmlData = [NSData dataWithContentsOfFile:path];
[wv loadData:htmlData MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:nil];
[self.tableView setTableHeaderView:wv];
[wv release];

我发现了 2 个丑陋的解决方法,但我希望有人有更好的解决方案;因为我的变通办法把代码搞得一团糟:

  1. 在您制作UIMYSCREENViewController,调用一个[VC
    preloadWebViewWithDelegate:self];
    制作 webview 的方法使用调用者作为委托(delegate)。然后调用者保留 vc 和等待 webview 发送给它webviewDidFinishLoad 方法,在什么时候可以呈现 View 并释放 vc。

  2. 调用 View 可以使webview,等待它完成,然后创建新 View 并将 webview 传递给它。

无论如何,这两种“解决方案”都让我有点作呕,所以我希望其他人找到了更好的方法。

(*这些说明大多是带有一些要点的简单样式文本(没有图像或过于激进的样式);但它需要大约 14 个仔细对齐的 UILabel View 才能在没有 web View 的情况下进行模拟 - 并且受制于客户想要更改消息。)

最佳答案

我会创建另一个独立的模型或 Controller 对象来创建和保留 webview,希望在更高级别和之前(可能在应用程序初始化期间)显示带有可以调出 webview 的 UI 的 View 。

将此视为 Action 游戏的预暂存资源,这样它们就不必在游戏循环期间加载,这是一种常见的设计模式。

关于iphone - 如何防止延迟显示我的 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134771/

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