1

我试图查看存储在我的 Bundle(在我的支持文件中)中的 .html 文件(index.html)。

.html 文件位于名为 HTML 的文件夹中。我的代码如下:

- (void)viewDidLoad
    {
     [super viewDidLoad];  

  _viewWeb.delegate = self;

    NSString *path = [[NSBundle mainBundle]
                      pathForResource:@"index" ofType:@"html" inDirectory:@"HTML"];
    NSURL *url = [NSURL fileURLWithPath:path];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [_viewWeb setScalesPageToFit:YES];
    [self.viewWeb loadRequest:request];

    }

我的头文件如下所示:

@interface D6ViewController : UIViewController <UIWebViewDelegate>


    {

    IBOutlet UIWebView *viewWeb;

    }

@property (weak, nonatomic) IBOutlet UIWebView *viewWeb;

@end

我将属性合成为viewWeb = _viewWeb. 持有 UIWebView 的视图控制器加载正常,但显示没有网页的白屏。我已经在 IB 中设置了网点。

有任何想法吗?谢谢,

4

5 回答 5

2

您正在使用相对路径(因此文件夹的颜色为蓝色)。您实际上可以在此处使用 uiwebview或以下的本地 html 从相对路径加载资源找到此问题的答案:

将资源拖到您的 xcode 项目中,您将获得两个选项“为任何添加的文件夹创建组”和“为任何添加的文件夹创建文件夹引用”。选择“创建文件夹引用..”选项。

下面的代码应该可以工作。

  NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"/HTML"]];
  [webView loadRequest:[NSURLRequest requestWithURL:url]];
于 2013-07-02T16:10:10.187 回答
1

尝试这个

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
于 2013-07-02T17:06:04.633 回答
0

你错了,这里是正确的代码:

        var requestURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("index", ofType: "html", inDirectory: "www")!)
    var request = NSURLRequest(URL:requestURL!)

    myWebView.loadRequest(request)
于 2014-11-26T18:16:55.403 回答
0

在斯威夫特:

func pathForResource(name: String?, ofType ext: String?, inDirectory subpath: String?) -> String?
-名称: Hmtl 的名称;
- ofType ext:文件类型的扩展名。在这种情况下,“html”;
- inDirectory 子路径:文件所在的文件夹。在这种情况下,文件位于根文件夹中;

    let path = NSBundle.mainBundle().pathForResource("dados", ofType: "html", inDirectory: "root")
    var requestURL = NSURL(string:path!);
    var request = NSURLRequest(URL:requestURL);

    webView.loadRequest(request)
于 2014-10-05T13:23:01.613 回答
0

如果您没有将 HTML 文件保存在任何目录中,则可以使用此选项。如果您将 HTML 文件保存在任何目录中,则在“inDirectory”参数中指定目录名称。

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"privacy-Policy" ofType:@"html" inDirectory:nil];
NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile];
[_webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];
于 2016-10-31T11:31:57.450 回答