【问题标题】:Change UIWebView's color while loading content加载内容时更改 UIWebView 的颜色
【发布时间】:2009-12-27 16:52:26
【问题描述】:

我的应用中有一个 UIWebView,它显示了一些 html 格式的文本(从我的包中的 .plist 文件加载)。 UIWebView 需要大约 1 秒来在屏幕上呈现文本,并且在那一秒内整个 UIWebView 是白色的。我尝试将视图的背景颜色设置为clearblack,但这并没有做任何事情。我还尝试使用委托方法仅在 didLoadContent 时显示 UIWebView 但该方法从未被调用,因为我们不涉及任何请求,我只是在那里呈现一个 html 字符串。

有没有办法在视图渲染之前什么都不显示?

如果没有,还有其他方法可以在 iPhone 上呈现 html 文本吗?

谢谢。

【问题讨论】:

    标签: iphone objective-c uiwebview htmltext textrenderer


    【解决方案1】:

    在我脑海中浮现: 将 UIWebView 的 hidden 属性设置为 YES,在 2-3 秒内显示调用选择器的内容以将隐藏属性更改为 NO。

    顺便说一句,您的意思是您正在加载本地 HTML 文件?还是下载文件造成的延迟?

    ~纳塔纳瓦拉。

    【讨论】:

    • 没有加载任何内容。 html 写在NSString 中,例如@"<html><body>...</body></html>"。选择器方法对我不起作用,因为此 html 文本是应用程序加载时显示的内容。所以它只在屏幕上停留几秒钟。因此: 1. 我希望它在加载后立即出现。 2. 当我的整个 UIViewController 已被解除分配时,我不希望选择器触发太晚。
    【解决方案2】:

    您说这个 HTML 是在“应用程序加载时”加载并呈现的,我猜这意味着启动而不是从某个地方加载一些其他数据?我还猜测 HTML 是完全静态的硬编码数据,因为您是从 .plist 中“离线”加载它的...

    建议:你为什么不把准备好的页面截图,保存在你的应用程序中并在应用程序启动时显示?应该更快。

    【讨论】:

    • 它是离线数据,但它必须是动态的。我在一个 plist 中有 20 个不同的 HTML,我想每次都随机渲染一个。我最终所做的是有 20 张图像(渲染的东西)并加载这些图像(所以,你在上面或多或少地建议过)......
    【解决方案3】:

    我在我的应用程序中使用一个 JavaScript 变量来处理这个问题,我使用一个每 0.5 秒触发一次的 NSTimer 检查该变量...我将视图隐藏起来,直到设置该变量...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      相关资源
      最近更新 更多