嗨,我现在不在家,所以我无法提供任何代码,所以我将尽力解释我的问题。
在我的ios应用程序中,我尝试使用photoswipe实现图像库,该图像库将根据uitableview中选择的餐厅显示不同的图像。
为了测试这一点,我已经在主捆绑包中导入了所有必要的html,javascript,css文件,然后在uiwebview中加载了index.html文件。目前,图库正在为每个选择的餐厅显示相同的图像,因为index.html文件包含指向某些测试图像的静态url链接,如下所示:

<!DOCTYPE html>
<html>
<head>
<title>PhotoSwipe</title>
<meta name="author" content="Ste Brennan - Code Computerlove -http://www.codecomputerlove.com/" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link href="styles.css" type="text/css" rel="stylesheet" />

<link href="../photoswipe.css" type="text/css" rel="stylesheet" />

<script type="text/javascript" src="../lib/klass.min.js"></script>
<script type="text/javascript" src="../code.photoswipe-3.0.5.min.js"></script>


<script type="text/javascript">

    (function(window, PhotoSwipe){

        document.addEventListener('DOMContentLoaded', function(){

            var
                options = {},
                instance = PhotoSwipe.attach( window.document.querySelectorAll('#Gallery a'), options );

        }, false);


    }(window, window.Code.PhotoSwipe));

</script>

</head>
<body>

<div id="MainContent">

<ul id="Gallery" class="gallery">
    <!-- ---------------------------LOOK HERE------------ -->

    <li><a href="TEST IMAGE 1 URL"><img src="THUMBNAIL TEST IMAGE 1 URL" alt="Image 001" /></a></li>
    <li><a href="TEST IMAGE 2 URL"><img src="THUMBNAIL TEST IMAGE 2 URL" alt="Image 002" /></a></li>
</ul>

</div>


</body>
</html>

无论如何,是否将nsstring注入此本地html文件,该文件包含指向所选相对餐厅的链接?

我尝试使用stringByEvaluatingJavaScriptFromString覆盖ID为“Gallery”的<ul>的html内容,但这会减慢将图像输出到缩略图网格的过程。

有没有一种方法可以实时编辑本地index.html文件?

最佳答案

您可以使用NSString方法stringWithContentsOfFile:encoding:error:获取html文件的全部内容,对其进行编辑,然后使用writeToFile:atomically:encoding:error:将其重新设置。或者,可以使用NSFileHandle方法进行更底层的访问。

编辑:

要获取文件目录:

NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

然后将您的文件名附加到它。
NSString *htmlFilePath = [documentsPath stringByAppendingPathComponent:@"index.html"];

并使用上述路径作为writeToFile:atomically:encoding:error:的参数

关于ios - 在主包ios中将nsstring添加到本地html文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12884655/

10-14 22:18
查看更多