iphone - 在基于导航的应用程序中加载本地 HTML 文件

标签 iphone html url sdk local

我是 iOS 开发新手。

我一直试图找到我的问题的答案,但我找不到,我找到了一些相关的答案,但我无法解决问题。

我的问题是,我制作了一个有表格的应用程序,每一行都应该有一个加载 UIWebView 的 URL,并且应该在您单击该行时加载,但它会加载一个在线 URL,例如@“http://www.google.com”。但我希望它加载本地 HTML 文件。

我将其用于 URL:

     azkarDetailViewController.detailURL=
     [[NSURL alloc] initWithString: 
     [[[azkarData objectAtIndex:indexPath.section] objectAtIndex: 
     indexPath.row] objectForKey:@"url"]];

对于表格中的每一行,我使用:

 [AZKAR addObject:[[NSMutableDictionary alloc] initWithObjectsAndKeys:@"THE NAME OF THE ROW",@"name",@"DayandNight.png",@"picture",@"http://www.google.com",@"url",nil]];

所以我希望应用程序从资源加载本地文件(例如,HTML 文件的名称是“index.html”)。

你能帮我解决这个问题吗?

非常感谢..

最佳答案

当您编译应用程序时,输出是文件和目录的“ bundle ”。您实际上可以通过 NSBundle 类访问包;静态方法 +mainBundle 将返回一个指向 NSBundle 实例的指针,该实例代表您应用程序的主包。

然后您可以使用 NSBundle-URLForResource:withExtension:-URLForResource:withExtension:subdirectory 方法(这些需要 iOS 4.0 或更高——也有更老的等价物)。如果 HTML 文件存储在您的主包目录中(就是这种情况,除非您在包中创建了一个与组不同的实际目录),您可以通过这种方式找到它的 URL:

NSString *myDocumentName = @"index.html";
NSURL *documentURL = [[NSBundle mainBundle] URLForResource:myDocumentName extension:Nil];

请注意,如果扩展名已经在文件名中,则无需单独指定扩展名。

注意:我的解释有点过于简单化(我假设您不需要处理本地化,否则您应该知道文档中解释的 other issues)。

关于iphone - 在基于导航的应用程序中加载本地 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4299938/

相关文章:

iphone - 在图库中显示一些缩放图像

iphone - 在移动设备(iphone、android 等)上查看 trac

html - 自动调整 div 元素的大小

javascript - 如何使用只读的 HTML5 在客户端验证字段?

javascript - 在跨域中创建安全的 iframe

javascript - 如何在 URL 中传递值并在新 URL 中插入值以使用 Javascript 进行重定向?

iphone - 应用程序进入后台状态时如何取消 AVExportSession?

iphone - 在 willRotateToInterfaceOrientation 中获取正确的框架

javascript - 使用公共(public)IP运行/socket.io/socket.io.js

php - 如何使用 Kohana 生成 SEO 友好的 URL