-1

如何在iphone中设置css+html文件

UIWebView   * webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0,320,458)];
webView.delegate=self;
[self.view addSubview:webView];

NSString *sPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"index.html"];
NSURL *targetURL = [NSURL fileURLWithPath:sPath];
NSString *htmlContant = [NSString stringWithContentsOfFile:sPath];
htmlContant = [htmlContant stringByAppendingPathComponent:@"menu.css"];
  NSString *content = [webView stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];
[webView loadHTMLString:[NSString stringWithFormat:htmlContant,content] baseURL:targetURL];
4

3 回答 3

1

示例.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
</body>
</html>

样式.css

body
{
    padding:0px;
    margin:0px;
}

目标-c代码:

NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"Sample" ofType:@"html" inDirectory:nil];

    NSString *htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
    NSURL *baseURL = [NSURL fileURLWithPath:htmlFile];

[WebView loadHTMLString:htmlString baseURL:baseURL];
于 2013-06-25T13:05:19.517 回答
1
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"html" inDirectory:nil];
NSString *htmlString = [NSString stringWithContentsOfFile:htmlPath encoding:NSUTF8StringEncoding error:nil];
NSURL *Url = [NSURL fileURLWithPath:htmlFile];
[WebView loadHTMLString:htmlString baseURL:Url];

并且不要忘记在 html 中链接 css

    <link rel="stylesheet" type="text/css" href="Sample.css">
于 2013-06-26T08:03:03.947 回答
0

首先。您的基本网址看起来不正确。因为它在您的targetURL. 基本路径必须没有任何文件名。

第二。您正在尝试在 html 内容中附加 css 文件名。

如果您已经存储在应用程序包中,为什么要以编程方式加载 css 文件。您可以简单地在 html 文件中编写以下行来加载外部 css。

<link rel="stylesheet" type="text/css" href="menu.css">

提示:每当您遇到此类问题时。您可以在可疑行上设置断点,并尝试使用PO命令在控制台中打印这些变量值。

参考链接:http: //iphoneincubator.com/blog/windows-views/uiwebview-revisited

于 2013-06-25T11:03:48.367 回答