0

我在 S/O 上进行了搜索,但没有一个答案适用于我的代码,所以我假设它是我的代码中缺少的东西。

我添加了一个UIWebView名为 showAbout 的使用 Interface Builder

我在这里声明了一个带有 IBOutlet 的 iVar:

@interface About : UIViewController<UIWebViewDelegate>
{
   IBOutlet UIWebView *showAbout;
}


@property (nonatomic, retain) IBOutlet UIWebView *showAbout;

我验证了 InterfaceBuilder 实际上确实为它设置了一个插座。

这是我在 about.m 中设置的方法

 showAbout.scalesPageToFit = YES;
    NSString *thePath = [[NSBundle mainBundle] pathForResource:@"about" ofType:@"html"];
    if (thePath) {
        NSData *aboutData = [NSData dataWithContentsOfFile:thePath];
        [showAbout loadData:aboutData MIMEType:@"application/html"
                        textEncodingName:@"utf-8" baseURL:nil];

UIWebView 没有显示我添加到项目中的 HTML 页面。

有任何想法吗...

4

3 回答 3

3

可能最好使用 NSString 并按如下方式加载 html 文档:

ViewController.h 文件

@property (retain, nonatomic) IBOutlet UIWebView *webView;

确保该属性已连接到 XIB/StoryBoard 中的 webView

ViewController.m 文件

 NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"about" ofType:@"html"];
    NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
    [self.webView loadHTMLString:htmlString baseURL:nil];
于 2013-07-24T04:58:55.750 回答
1

HTML的正确MIME 类型是text/html,而不是application/html,因此您应该将其用于MIMEType参数。

或者,您也可以将NSData对象转换为 anNSStringloadHTMLString:baseURL:使用UIWebView.

于 2013-07-24T06:57:30.613 回答
1

在 .h 文件中,您需要初始一个 webview 出口

    IBOutlet UIWebView *_wvSetting;            

在 .m 文件中

        NSString htmlContent = nil;
        htmlContent = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"about" ofType:@"html"] encoding:NSUTF8StringEncoding error:nil];
        [_wvSetting loadHTMLString:htmlContent baseURL:nil];
于 2013-07-24T05:06:32.297 回答