如何更改loadedHtml文本中的字体颜色

时间:2011-06-21 11:33:17

标签: html objective-c xcode

我保存了这样的字符串..

NSString *loadString = [NSString stringWithFormat:@"<html><body><font color=\"white\">%@</font></body></html>", string];

现在我想使用

在webview中加载此字符串
[webView loadHTMLString:loadString baseURL:nil];

现在加载网页时,颜色默认为黑色。我想将颜色更改为白色,但我无法这样做。任何建议如何更改字体colour.Thanks。

编辑1: 我试过这个但没有运气..

NSString *htmlString = [NSString stringWithFormat:@"<html><style type=\"text/css\"><!--.style1 { font-family: Arial;color: #FFFFFF;font-size: 20px;font-weight: bold;}--> <body><font class=\"style1\">%@</font></body></html>", string];

也是这个..

NSString *htmlString = [NSString stringWithFormat:@"<html> \n""<head> \n""<style type=\"text/css\"> \n""body {font-family: \"%@\"; font-size: %@; color:#FFFFFF; }\n""</style> \n""</head> \n""<body>%@</body> \n""</html>", @"helvetica", [NSNumber numberWithInt:15], string];

3 个答案:

答案 0 :(得分:5)

这是完整列表。只需创建一个名为“WebViewTestViewController”的视图控制器+ NIB,并在您的nib文件中添加webView并连接它。

WebViewTestViewController.h:

#import <UIKit/UIKit.h>

@interface WebViewTestViewController : UIViewController {
    UIWebView *webView;
}
@property (nonatomic, retain) IBOutlet UIWebView *webView;
@end

WebViewTestViewController.m:

#import "WebViewTestViewController.h"

@implementation WebViewTestViewController
@synthesize webView;

- (void)viewDidAppear:(BOOL)animated {
    NSString *string = @"Hello world";
    NSString *loadString = [NSString stringWithFormat:@"<html><head><style>body {background:blue} p {color:white;}</style></head><body><p>%@<p></body></html>", string];
    [webView loadHTMLString:loadString baseURL:nil];

    [super viewDidAppear:animated];
}

- (void)dealloc {
    [webView release];
    [super dealloc];
}


- (void)viewDidUnload {
    [self setWebView:nil];
    [super viewDidUnload];
}

@end

答案 1 :(得分:5)

我希望您在UIWebview中要求更改已加载文件的字体颜色,您可以使用以下步骤在UIWebview中更改已加载内容的颜色,大小和类型,

[web stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.color =\"Green\""];


[web stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.fontFamily =\"Courier New\""];
[web stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.fontSize =\"20\""];

这里我使用javascript更改引用我的商店IBOutlet UIWebView *web;

的html页面正文的字体系列,大小和颜色

答案 2 :(得分:1)

在body标签之前加上:

<style type="text/css">
<!--
.style1 {
font-family: Arial, Helvetica, sans-serif;
color: #FFFFFF;
font-size: 20px;
font-weight: bold;
}
-->

然后在您的字体标记中包含:

 <font class="style1">

如果这不起作用,请更改span的字体。

编辑--- 这是一个例子......

<html><style type="text/css">.style1 {font-family: Arial, Helvetica, sans-serif;color: #FFFFFF;font-size: 20px;font-weight: bold;}</style><body><span class="style1">%@</span></body></html>", string];