UIWebView不显示HTML

时间:2013-07-14 20:16:23

标签: ios uiwebview

我搜索过S / O并且没有任何答案适用于我的代码,所以我假设我的代码中缺少了一些东西。

我使用名为showAbout

的Interface Builder添加了UIWebView

我在这里宣布了一个带有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页面。

任何想法......

3 个答案:

答案 0 :(得分: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];

答案 1 :(得分: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];

答案 2 :(得分:1)

正确的MIME type for HTMLtext/html,而不是application/html,因此您应该将其用于MIMEType参数。

或者,您也可以将NSData对象转换为NSString,并使用loadHTMLString:baseURL:的{​​{1}}方法。