我搜索过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页面。
任何想法......
答案 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 HTML是text/html
,而不是application/html
,因此您应该将其用于MIMEType
参数。
或者,您也可以将NSData
对象转换为NSString
,并使用loadHTMLString:baseURL:
的{{1}}方法。