【发布时间】:2011-02-27 17:43:44
【问题描述】:
我必须在表格前包含一些“富文本”说明*;并认为将 UIWebView 添加到 tableview 的标题中会起作用。 HTML 是我的资源文件夹中的一个小文件,CSS 在文件中的样式标记中;所以一切都很好,而且是自给自足的。
问题是,视图转换;然后在一小段延迟后出现 webview 的内容。效果很刺耳,我不认为隐藏视图并在它准备好时将其淡入是更可取的。
我正在使用下面的代码在我的viewDidLoad 方法中创建视图。
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 个丑陋的解决方法,但我希望有人有更好的解决方案;因为我的解决方法把代码弄得一团糟:
UIMYSCREENViewController,调用一个
[vc preloadWebViewWithDelegate:self];将制作webview的方法 使用调用者作为代表。 然后调用者保留 vc 和 等待 webview 发送给它webviewDidFinishLoad方法,在 什么时候可以呈现视图 并释放vc。调用view可以做webview, 等待它完成,然后创建 新视图并将 webview 传递给它。
无论如何,这两个“解决方案”都让我有点作呕,所以我希望其他人找到更好的方法。
(*这些说明大多是带有一些要点的简单样式文本(没有图像或过于激进的样式);但是在没有 web 视图的情况下需要大约 14 个仔细对齐的 UILabel 视图来模拟这一点 - 并且受制于客户想要更改消息。)
【问题讨论】: