我必须显示我从服务器提取的富文本,所以我使用的是UIWebView.现在的问题是我无法控制UIWebView中使用的字体.如何更改字体以使用系统字体(使其与应用程序的其余部分保持一致)?
我现在正在做这样的事情:
myRichTextView = [[UIWebView alloc] initWithFrame:CGRectMake(x, y, width, height)]; myRichTextView.backgroundColor = [UIColor clearColor]; [myRichTextView setScalesPageToFit:NO]; [myRichTextView loadHTMLString:myString baseURL:[NSURL URLWithString:myBaseURL]];
再次,需要控制显示字体.如果我无法控制字体,请告诉我UIWebView的其他替代方法.
谢谢
当我像这样修改字符串时,它工作.你正确的克里斯,它应该没有任何区别.
NSString *myDescriptionHTML = [NSString stringWithFormat:@" \n" " \n" " \n" " \n" "%@ \n" "", @"helvetica", [NSNumber numberWithInt:kFieldFontSize], content];
在HTML文档中引用css样式表或将样式信息放在HTML文档本身的顶部
我在Web视图中使用以下CSS来完成您所说的内容.
body { font-family:helvetica; }
但你的看起来应该也可以.奇怪.我唯一能看到的是font vs font-family,但这应该没有区别.
克里斯.
系统字体
iOS 9和Safari OS X 10上的-apple-system
font-family: -apple-system; font-family: '-apple-system','HelveticaNeue'; // iOS 8 compatible
我创建了一个方法,在HTML主体中包含一些文本,其中包含给定UIColor
和的正确样式UIFont
.它基于穆斯塔法的答案.
它是这样使用的:
NSString * htmlString = [MyClass htmlFromBodyString:@"an example" textFont:[UIFont systemFontOfSize:10] textColor:[UIColor grayColor]]; [webView loadHTMLString:htmlString baseURL:nil];
另一个对我有用的简单方法
UIFont *font = [UIFont systemFontOfSize:15];
NSString *htmlString = [NSString stringWithFormat:@"%@",
(int) font.pointSize,
[bodyText stringWithNewLinesAsBRs]];
[myWebView loadHTMLString:htmlString baseURL:nil];