将不同文本样式的内容添加到uiwebview

时间:2012-11-06 12:49:42

标签: iphone objective-c ios uifont

我正在制作一个iPhone应用程序,它为用户提供不同文本样式的文本。为此,我使用了uiwebview而不是textview或label,这样用户就可以添加像smileys这样的图像。为了转换文本样式中的普通文本,即gatsbycaps,我们使用gatsbycaps.ttf文件并尝试转换此格式的文本,我使用了以下代码

  NSString* htmlContentString = [NSString stringWithFormat:
                               @"<style type=\"text/css\"> @font-face { font-family: 
                               gatsbycaps;}</style><p style=\"font-family:gatsbycaps;
                                \">sudha</p>"];
NSLog(@"htmlContentString..:%@",htmlContentString);

[styleTextWebView loadHTMLString:htmlContentString baseURL:nil];

但是使用上面的代码没有输出。请告诉我们如何使用ttf文件在webview中实现文本样式。我们非常感谢您的帮助。

感谢所有人。

2 个答案:

答案 0 :(得分:0)

使用CoreText添加不同文字样式的内容。

参考CoreTextPageViewer链接。

答案 1 :(得分:0)

webViewDidFinishLoad内,您可以执行cs-script操作。

- (void)webViewDidFinishLoad:(UIWebView *)webView
{


 NSString *insertRule1 = [NSString stringWithFormat:@"addCSSRule('html', 'padding: 0px; height: %fpx; -webkit-column-gap: 0px; -webkit-column-width: %fpx;')", webView.frame.size.height, webView.frame.size.width];
    NSString *insertRule2 = [NSString stringWithFormat:@"addCSSRule('p', 'text-align: justify;')"];


      [webView stringByEvaluatingJavaScriptFromString:insertRule1];
      [webView stringByEvaluatingJavaScriptFromString:insertRule2];

}