Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何尽可能无缝地重新加载UIWebView_Ios_Objective C_Url_Uiwebview_Reload - Fatal编程技术网

Ios 如何尽可能无缝地重新加载UIWebView

Ios 如何尽可能无缝地重新加载UIWebView,ios,objective-c,url,uiwebview,reload,Ios,Objective C,Url,Uiwebview,Reload,我使用UIWebView呈现本地html内容(带有javascript的特殊html内容)。html内容需要经常进行增量更新,但每次这种情况发生,我重新加载web视图时,它都会进行一些“舞蹈”来刷新,这会让人分心,特别是因为更新非常小而且经常发生。如果我可以冻结显示,在后台重新加载页面,然后重新绘制显示,我相信这看起来会很好。但是,我能做到吗?或者有没有其他方法可以无缝刷新html页面(或者只是页面的部分内容) 提前感谢您的帮助 你可以: 拍摄UIWebView的“屏幕截图”(请参阅) 在UIW

我使用UIWebView呈现本地html内容(带有javascript的特殊html内容)。html内容需要经常进行增量更新,但每次这种情况发生,我重新加载web视图时,它都会进行一些“舞蹈”来刷新,这会让人分心,特别是因为更新非常小而且经常发生。如果我可以冻结显示,在后台重新加载页面,然后重新绘制显示,我相信这看起来会很好。但是,我能做到吗?或者有没有其他方法可以无缝刷新html页面(或者只是页面的部分内容)

提前感谢您的帮助

你可以:

  • 拍摄
    UIWebView
    的“屏幕截图”(请参阅)
  • UIWebView
    上的
    UIImageView
    中显示它
  • 重新加载
    UIWebView
  • UIWebView
    完成重新加载后,从视图层次结构中删除
    UIImageView
  • 我怀疑是否有办法告诉
    UIWebView
    在重新加载时“冻结”显示,因为Webkit呈现会向用户提供有关页面加载状态的反馈


    另一个解决方案是使用javascript(可能还有XHR)更新DOM,无需在
    UIWebView

    中重新加载整个页面,感谢您的响应。第一种选择似乎有点太复杂了。你介意详细说明第二种解决办法吗?(不熟悉XHR)第一个选项真的不应该太麻烦。javascript解决方案是使用Ajax重新加载部分HTML代码,而不重新加载整个页面。如果您使用的是jQuery,那么就有了。如果你从未做过类似的事情,谷歌“Ajax”,有很多教程:)最终使用JavaScript实现了所有功能。我最终不得不同步我的javascript和objective-C代码。总结:1。使用
    stringByEvaluatingJavaScriptFromString
    从objective-C调用javascript。2。用于在javascript完成时向objective-C发送信号。现在效果很好。